Re: Examples of edge annotations in Property Graphs

For some of these examples it is unclear what is going on.  For example, is 
Sherman Klump a string or an object?  Similarly for 135025560000; Jan10, 2011; 
and friends.   Without this information it is unclear what edge annotations 
are being used.


peter



On 1/23/23 19:19, Thomas Lörtsch wrote:
> Hi,
>
> I collected some use cases for edge annotations by googling for "property graph example", checking some popular books on graph databases and consulting RDF-star implementors' documentations. It wasn’t a very systematic effort but I swear I didn’t pick favorites.
> I did put a little effort in formatting, so with a monospaced font it should be fairly readable. When the example has 2 columns and 3 rows then the left column are subject, predicate and object of a statement and the right column are the attributes - you’ll get the idea.
>
> Best,
> Thomas
>
>
>
>
> EXAMPLES:
>
>
> Dave Bechberger, Josh Perryman - Graph Databases in Action, Manning Publications, 2020
> Figure 2.18 Adding a role property to the acted_in edge creates a mutiple uniqueness edge to express the fact that Eddie Murphy acted in multiple roles in the movie Nutty Professor.
>
>      person          Eddie Murphy
>      acted_in        role: Sherman Klump, Buddy Love
>      movie           Nutty Professor
>
>
>
> Ian Robinson, Jim Webber, Emil Eifrim - Graph Databases New opportunities for Connected Data, O’Reilly, 2015
> Figure 5-16. Timestamp properties on relationships
>
>      id:1            Location: Parcel Center
>      CONNECTED_TO    cost: 3, start_date: 13502556000000, end_date: 13508604000000
>      id:1, name:…    Location: Delivery Base
>
>
>
> Neo4j Developer, Why Graph Databases?
> https://neo4j.com/developer/graph-database/
>
>      Person          name: Dan, born: May 29 1970, twitter: "@dan"
>      drives          since: Jan 10, 2011
>      Car             brand: "Volvo", model: "V70"
>
>
>
> Neo4j Blog, RDF Triple Stores vs. Labeled Property Graphs: What’s the Difference?
> https://neo4j.com/blog/rdf-triple-store-vs-labeled-property-graph-difference/
>
>      2042819         name: NYC
>      CONNECTION      distanceKm: 4100, costUSD: 300
>      2042820         name: SFO
>
>
>
> Oracle, Graph Developer's Guide for Property Graph, 1.1.1 What Are Property Graphs?
> https://docs.oracle.com/en/database/oracle/property-graph/22.2/spgdg/what-are-property-graphs.html
>
>      1               name: Alice, age: 31
>      knows           type: friends
>      2               name: Bob, age: 27
>
>
>
> Oxford Semantics, What is a labeled property graph?
> https://www.oxfordsemantic.tech/fundamentals/what-is-a-labeled-property-graph
>
>      ID: "12345", Label: "Person"
>                      name: "Alice", dateOfBirth: "1975-10-22", height: 1.70
>      ID "24680", Label: "Married"
>                      date: "2004-09-19"
>      ID: "67890", Label: "Person"
>                      name: "Bob", dateOfBirth: "1976-01-07", height: 1.75
>
>
>
> TerminusDB Community Blog post, Graph Fundamentals — Part 2: Labelled Property Graphs
> https://medium.com/terminusdb/graph-fundamentals-part-2-labelled-property-graphs-ba9a8edb5dfe
>      
>      NODE            name: "Andy", title: "Developer"
>      EDGE            rid:"MANAGES", from: 2011-12-12
>      NODE            name: "Bob", title: "Manager"
>
>
>
> OpenCredo, Blog post, Making Sense of Data with RDF* vs. LPG
> https://opencredo.com/blogs/making-sense-of-data-with-rdf-vs-lpg/
>
>      Elon Musk
>      FOUNDED         startDate: "2002-03-14", source: "https://en.wikipedia.org/wiki/SpaceX"
>      SpaceX
>
>
>
> Cambridge Semantics, AnzoGraphDB 2.5, Creating and Querying Labeled Property Graphs (RDF*)
> https://docs.cambridgesemantics.com/anzograph/v2.5/userdoc/lpgs.htm?Highlight=Labeled%20Property%20Graphs%20RDF*
>
>      @prefix tickit: <http://anzograph.com/tickit/> .
>
>      tickit:person3
>          rdf:type tickit:person ;
>          tickit:card "4984932249480735"^^xsd:long ;
>          tickit:birthday "1963-07-02"^^xsd:date ;
>          […] .
>      << tickit:person3 tickit:like "sports" >> tickit:weight 8 .
>      << tickit:person3 tickit:like "rock" >> tickit:weight 9 .
>      […]
>      << tickit:person3 tickit:friend tickit:person8563 >> tickit:startDate "1990-01-04"^^xsd:date .
>      << tickit:person3 tickit:friend tickit:person38436 >> tickit:startDate "2000-04-27"^^xsd:date .
>      << tickit:person3 tickit:friend tickit:person11979 >> tickit:startDate "2004-11-09"^^xsd:date .
>      << tickit:person3 tickit:friend tickit:person11979 >> tickit:endDate "2012-07-17"^^xsd:date .
>      tickit:person3 tickit:friend tickit:person8639,
>          […]
>          tickit:person11979,
>          […]
>          tickit:person38436
>          […] .
>
>      [In this example something went wrong with asserting quoted triples:
>      person11979 should not be listed as friend anymore and
>      it’s unclear why person8563 isn’t listed.
>      Maybe a mishap, or mabye the friendship ended but we don’t know the date.]
>
>
>
> Renzo Angles, 2018, The Property Graph Database Model
> http://ceur-ws.org/Vol-2100/paper26.pdf
>
>      Entry           title, numpages, keyword
>      hasAuthor       order
>      Author          fname, lname
>
>      InProceedings   (inherits from Entry)
>      booktitle       pages
>      Proceedings     title, year, month
>
>      Article         (inherits from Entry)
>      publishedIn     pages
>      Journal         title, year, vol, num
>
>
>
> Stardog, Query Stardog/Edge Properties (beta)
> https://docs.stardog.com/query-stardog/edge-properties
>
>      << :Pete a :Engineer >> :since  2010 .
>      << :Pete :worksAt :Stardog >> :source :HR .
>
>      :Pete  a { :since 2010 ; until 2018} :Engineer ;
>             :worksAt { :source :HR } :Stardog
>
>
>
> Stardog, Blog, Property Graphs meet Stardog
> https://www.stardog.com/blog/property-graphs-meet-stardog/
>
>      << :Alice :worksFor :ACME >> :role :CEO ;
>                                   :since 2010 ;
>                                   :probability 0.8 ;
>                                   :source <http://example.com/news> .
>
>      :Alice :worksFor {:role :CEO ;
>                        :since 2010 ;
>                        :probability 0.8 ;
>                        :source <http://example.com/news>} :ACME ;
>             :birthDate {:probability 0.2} "1972-01-01"^^xsd:date ;
>             :nationality {:source <http://example.org/Alice>} :USA .
>
>
>
> GraphDB 9.2 Documentation, RDF* and SPARQL*
> https://graphdb.ontotext.com/documentation/9.2/free/devhub/rdf-sparql-star.html#id1
> (the current 10.1 docs use the same examples, just with explicit namespaces)
>
>      :man :hasSpouse :woman .
>      <<:man :hasSpouse :woman>> :startDate "2020-02-11"^^xsd:date .
>
>      <<:man :hasSpouse :woman>> ex:certainty 0.9 .
>
>      Object relation qualifiers:
>      <<:man :hasSpouse :woman>> :startDate "2020-02-11"^^xsd:date
>
>      Data value qualifiers:
>      <<:painting :height 32.1>>
>          :unit :cm;
>          :measurementTechnique :laserScanning;
>          :measuredOn "2020-02-11"^^xsd:date.
>
>      Statement sources/references:
>      <<:man :hasSpouse :woman>>
>          :source :TheNationalEnquirer;
>          :webpage <http://nationalenquirer.com/news/2020-02-12>;
>          :retrieved "2020-02-13"^^xsd:dateTime.
>
>
>
> Apache Jena, Documentation Support of RDF-star
> https://jena.apache.org/documentation/rdf-star/
>
>      SELECT ?name { <<:john foaf:name ?name >> dct:source <http://example/directory> }
>
>      B.t.w., the page also says:
>          "Translating back to RDF-star relies on the consistency constraint
>          that there is only one reification for each unique quoted triple term."
>      That's another way to illustrate how misguided the type-based approach of RDF-star is.
>      
>
>
> TopQuadrant, RDF-Star – Why, how and when should you use it?
> https://www.topquadrant.com/resources/rdf-star-why-how-and-when-should-you-use-it
>
>      example:Irene rdfs:label “Irene” ;
>          rdf:type example:Person ;
>          example:worksFor example:TopQuadrant .
>      <urn:triple:%3Chttp%3A%2F%2Fexample.org%2Freification%23Irene%3E:%3Chttp%3A%2F%2Fexample.org%2Freification%23worksFor%3E:%3Chttp%3A%2F%2Fexample.org%2Freification%23TopQuadrant%3E>
>          example:startDate “2001-12-01″^^xsd:date .
>
>
>
> rdf4j, Doumentation, RDF-Star and SPARQL-Star
> https://rdf4j.org/documentation/programming/rdfstar/
>
>      <<ex:bob foaf:age 23>> ex:certainty 0.9 .
>
>

Received on Tuesday, 24 January 2023 00:40:12 UTC