- From: Thomas Lörtsch <tl@rat.io>
- Date: Tue, 24 Jan 2023 01:19:56 +0100
- To: public-rdf-star-wg@w3.org
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:20:19 UTC