SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
JGD: Personal Graphs
         Barak Michener
         March 10, 2010




Thursday, March 11, 2010
The Problem:
                           From Tables to Graphs
                           or, an SQL Query walks into a bar...




Thursday, March 11, 2010
Dinner Party


                    •      Friends
                           •   Preferably Techies

                    •      Networking
                    •      Matchmaking (shhh)
                    •      Vegetarian?


Thursday, March 11, 2010
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
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
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
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
Let’s start over


                    •      Goal: Represent Data
                    •      HTML circa-1996 Simplicity
                           •   Complete with “blink” tags

                    •      Proposal: Use JSON!



Thursday, March 11, 2010
Demo




Thursday, March 11, 2010
1: Graph Data is Simple




Thursday, March 11, 2010
Personal Graph
                           or, What does it take?




Thursday, March 11, 2010
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
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
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
Demo




Thursday, March 11, 2010
Graph Merge is Powerful

                           Bob          Bob       Fred



             Sue                 Mary   Mary      Phil



                       test1.jgd           test2.jgd


Thursday, March 11, 2010
Graph Merge is Powerful

                                       Bob                 Fred



             Sue                       Mary                Phil



                            jgd2 cat test1.jgd test2.jgd

Thursday, March 11, 2010
Demo




Thursday, March 11, 2010
Some Stats


                    •      First demo was 685 LOC
                    •      Rough equivalent checkout of
                           Freebase stack ~800MB
                    •      Command-line ready



Thursday, March 11, 2010
2: Graph Data is Powerful
                    3: Triple Stores Aren’t Scary




Thursday, March 11, 2010
Into the Clouds
                           or, “First step into a larger world”




Thursday, March 11, 2010
Great, but...



                    •      Small datasets, bigger questions
                    •      How can I include *more* data?
                    •      Answer: Strong identifiers



Thursday, March 11, 2010
Demo




Thursday, March 11, 2010
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
Full Circle



                    •      MQL results are valid JGD!
                    •      “Pull” in more data




Thursday, March 11, 2010
Demo




Thursday, March 11, 2010
4: Strong Identifiers Connect
                         the Data Cloud




Thursday, March 11, 2010
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
Thank You



                  Join in! Fork jgd on github:
                  http://github.com/barakmich/jgd




Thursday, March 11, 2010

Contenu connexe

En vedette (6)

www.ipmold.com
www.ipmold.comwww.ipmold.com
www.ipmold.com
 
Finance 4 Business North East
Finance 4 Business North EastFinance 4 Business North East
Finance 4 Business North East
 
A Great Place To Work!
A Great Place To Work!A Great Place To Work!
A Great Place To Work!
 
Hoekman & Van Der Poel (2009) Sport Speelbal Voor Ruimtelijke Ordening
Hoekman & Van Der Poel (2009) Sport Speelbal Voor Ruimtelijke OrdeningHoekman & Van Der Poel (2009) Sport Speelbal Voor Ruimtelijke Ordening
Hoekman & Van Der Poel (2009) Sport Speelbal Voor Ruimtelijke Ordening
 
PortefóLio
PortefóLioPortefóLio
PortefóLio
 
Equity Investment
Equity InvestmentEquity Investment
Equity Investment
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Jgd User Group Demo

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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