Jgd User Group Demo
-
Upload
barakmich -
Category
Technology
-
view
972 -
download
0
description
Transcript of Jgd User Group Demo
![Page 1: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/1.jpg)
JGD: Personal GraphsBarak MichenerMarch 10, 2010
Thursday, March 11, 2010
![Page 2: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/2.jpg)
The Problem:From Tables to Graphsor, an SQL Query walks into a bar...
Thursday, March 11, 2010
![Page 3: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/3.jpg)
Dinner Party
• Friends• Preferably Techies
• Networking
• Matchmaking (shhh)
• Vegetarian?
Thursday, March 11, 2010
![Page 4: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/4.jpg)
Party.xls
Name Status Veg? Company
Bob Single TRUE Microsoft
Fred Relationship FALSE Yahoo
Mary Single FALSE Google
Sue Single TRUE Apple
Thursday, March 11, 2010
![Page 5: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/5.jpg)
Party.xls
Name Status Veg? Comp1 Comp2
Bob Single TRUE Microsoft
Fred Relationship FALSE Yahoo
Mary Single FALSE Google Apple
Sue Single TRUE Apple
WRONG, but very common
Thursday, March 11, 2010
![Page 6: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/6.jpg)
An SQLish SolutionName Status Veg? ID
Bob S Y 1
Fred R N 2
Mary S N 3
Sue S Y 4
Comp_ID Name
1 Microsoft
2 Apple
3 Google
4 Yahoo
Person Company1 1
2 4
3 3
4 2
3 2
But now we’re getting complex.I just wanted to plan a party.
Thursday, March 11, 2010
![Page 7: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/7.jpg)
Today’s Semantic Web<?xml version='1.0'?><!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ --><rdf:RDF xml:lang="en" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:ya="http://blogs.yandex.ru/schema/foaf/" xmlns:lj="http://www.livejournal.org/rss/lj/1.0/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <foaf:Person> <foaf:nick>barawulf</foaf:nick> <foaf:name>Barak</foaf:name> <lj:journaltitle>Barak's Livejournal</lj:journaltitle> <lj:journalsubtitle>rantings of a geek leader</lj:journalsubtitle> <foaf:openid rdf:resource="http://barawulf.livejournal.com/" /> <ya:country dc:title="US" rdf:resource="http://www.livejournal.com/directory.bml?opt_sort=ut&s_loc=1&loc_cn=US"/> <ya:city dc:title="Berkeley" rdf:resource="http://www.livejournal.com/directory.bml?opt_sort=ut&s_loc=1&loc_cn=US&loc_st=&loc_ci=Berkeley"/> <foaf:img rdf:resource="http://l-userpic.livejournal.com/52234957/2173900" /> <foaf:page> <foaf:Document rdf:about="http://barawulf.livejournal.com/profile"> <dc:title>LiveJournal.com Profile</dc:title> <dc:description>Full LiveJournal.com profile, including information such as interests and bio.</dc:description> </foaf:Document> </foaf:page> <ya:blogActivity> <ya:Posts> <ya:feed rdf:resource="http://barawulf.livejournal.com/data/foaf" dc:type="application/rss+xml" /> <ya:posted>149</ya:posted> </ya:Posts> </ya:blogActivity>
...and we’ve just got started (316 lines)
Thursday, March 11, 2010
![Page 8: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/8.jpg)
Let’s start over
• Goal: Represent Data
• HTML circa-1996 Simplicity• Complete with “blink” tags
• Proposal: Use JSON!
Thursday, March 11, 2010
![Page 9: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/9.jpg)
Demo
Thursday, March 11, 2010
![Page 10: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/10.jpg)
1: Graph Data is Simple
Thursday, March 11, 2010
![Page 11: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/11.jpg)
Personal Graphor, What does it take?
Thursday, March 11, 2010
![Page 12: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/12.jpg)
What Do I Want?
• Easy Relationships
• Easy to Edit
• Easy to Query (MQL)
• “Personal Freebase”
• Don’t want the complexity of RDF
Thursday, March 11, 2010
![Page 13: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/13.jpg)
The Conflict
• Freebase is cool and powerful
• Never, ever want to load this data
• Graph databases are hard to set up
Thursday, March 11, 2010
![Page 14: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/14.jpg)
Enter JGD
• JGD == JSON Graph Data
• Tool for manipulating a personal graph based on JSON files
• A mini, personal, MQL and Graph implementation
Thursday, March 11, 2010
![Page 15: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/15.jpg)
Demo
Thursday, March 11, 2010
![Page 16: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/16.jpg)
Graph Merge is Powerful
Bob
Sue Mary
Bob
Mary
Fred
Phil
test1.jgd test2.jgd
Thursday, March 11, 2010
![Page 17: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/17.jpg)
Graph Merge is Powerful
Bob
Sue Mary
Bob
Mary
Fred
Phil
jgd2 cat test1.jgd test2.jgd
Thursday, March 11, 2010
![Page 18: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/18.jpg)
Demo
Thursday, March 11, 2010
![Page 19: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/19.jpg)
Some Stats
• First demo was 685 LOC
• Rough equivalent checkout of Freebase stack ~800MB
• Command-line ready
Thursday, March 11, 2010
![Page 20: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/20.jpg)
2: Graph Data is Powerful3: Triple Stores Aren’t Scary
Thursday, March 11, 2010
![Page 21: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/21.jpg)
Into the Cloudsor, “First step into a larger world”
Thursday, March 11, 2010
![Page 22: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/22.jpg)
Great, but...
• Small datasets, bigger questions
• How can I include *more* data?
• Answer: Strong identifiers
Thursday, March 11, 2010
![Page 23: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/23.jpg)
Demo
Thursday, March 11, 2010
![Page 24: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/24.jpg)
Full CircleName Status Veg? ID
Bob S Y :bob
Fred R N :fred
Mary S N :mary
Sue S Y :sue
Comp_ID Namefb:/en/microsoft Microsoftfb:/en/apple_inc Apple
fb:/en/google Googlefb:/wikipedia/en/
Yahoo Yahoo
Person Company:bob fb:/en/microsoft
:fred fb:/wikipedia/en/Yahoo
:mary fb:/en/google
:sue fb:/en/apple_inc
:mary fb:/en/apple_inc
Thursday, March 11, 2010
![Page 25: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/25.jpg)
Full Circle
• MQL results are valid JGD!
• “Pull” in more data
Thursday, March 11, 2010
![Page 26: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/26.jpg)
Demo
Thursday, March 11, 2010
![Page 27: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/27.jpg)
4: Strong Identifiers Connect the Data Cloud
Thursday, March 11, 2010
![Page 28: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/28.jpg)
Where Do We Go From Here?
• In-browser graphs• Microdata, Faceted Browsing
• Simple MQL implementation• SPARQL translator?, other adapters
• Sharing data (cat, push, pull)
• Queries are subgraphs
Thursday, March 11, 2010
![Page 29: Jgd User Group Demo](https://reader034.fdocuments.us/reader034/viewer/2022051609/547a488fb379593a2b8b4996/html5/thumbnails/29.jpg)
Thank You
Join in! Fork jgd on github:
http://github.com/barakmich/jgd
Thursday, March 11, 2010