Your SlideShare is downloading. ×
Jgd User Group Demo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Jgd User Group Demo

632
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
632
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JGD: Personal Graphs Barak Michener March 10, 2010 Thursday, March 11, 2010
  • 2. The Problem: From Tables to Graphs or, an SQL Query walks into a bar... Thursday, March 11, 2010
  • 3. Dinner Party • Friends • Preferably Techies • Networking • Matchmaking (shhh) • Vegetarian? Thursday, March 11, 2010
  • 4. 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
  • 5. 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
  • 6. An SQLish Solution Name Status Veg? ID Comp_ID Name Bob S Y 1 1 Microsoft Fred R N 2 2 Apple Mary S N 3 3 Google Sue S Y 4 4 Yahoo Person Company 1 1 2 4 But now we’re getting complex. 3 3 I just wanted to plan a party. 4 2 3 2 Thursday, March 11, 2010
  • 7. 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&apos;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&amp;s_loc=1&amp;loc_cn=US"/> <ya:city dc:title="Berkeley" rdf:resource="http://www.livejournal.com/directory.bml?opt_sort=ut&amp;s_loc=1&amp;loc_cn=US&amp;loc_st=&amp;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
  • 8. Let’s start over • Goal: Represent Data • HTML circa-1996 Simplicity • Complete with “blink” tags • Proposal: Use JSON! Thursday, March 11, 2010
  • 9. Demo Thursday, March 11, 2010
  • 10. 1: Graph Data is Simple Thursday, March 11, 2010
  • 11. Personal Graph or, What does it take? Thursday, March 11, 2010
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Demo Thursday, March 11, 2010
  • 16. Graph Merge is Powerful Bob Bob Fred Sue Mary Mary Phil test1.jgd test2.jgd Thursday, March 11, 2010
  • 17. Graph Merge is Powerful Bob Fred Sue Mary Phil jgd2 cat test1.jgd test2.jgd Thursday, March 11, 2010
  • 18. Demo Thursday, March 11, 2010
  • 19. Some Stats • First demo was 685 LOC • Rough equivalent checkout of Freebase stack ~800MB • Command-line ready Thursday, March 11, 2010
  • 20. 2: Graph Data is Powerful 3: Triple Stores Aren’t Scary Thursday, March 11, 2010
  • 21. Into the Clouds or, “First step into a larger world” Thursday, March 11, 2010
  • 22. Great, but... • Small datasets, bigger questions • How can I include *more* data? • Answer: Strong identifiers Thursday, March 11, 2010
  • 23. Demo Thursday, March 11, 2010
  • 24. Full Circle Name Status Veg? ID Comp_ID Name Bob S Y :bob fb:/en/microsoft Microsoft Fred R N :fred fb:/en/apple_inc Apple Mary S N :mary fb:/en/google Google fb:/wikipedia/en/ Sue S Y :sue 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
  • 25. Full Circle • MQL results are valid JGD! • “Pull” in more data Thursday, March 11, 2010
  • 26. Demo Thursday, March 11, 2010
  • 27. 4: Strong Identifiers Connect the Data Cloud Thursday, March 11, 2010
  • 28. 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
  • 29. Thank You Join in! Fork jgd on github: http://github.com/barakmich/jgd Thursday, March 11, 2010

×