Coexistence and Interoperability Panel "Coexistence or - - PowerPoint PPT Presentation
Coexistence and Interoperability Panel "Coexistence or - - PowerPoint PPT Presentation
Coexistence and Interoperability Panel "Coexistence or Competjtjon" W3C Workshop on Web Standardizatjon for Graph Data Olaf Hartjg @olafiartjg Three Points Coexistence is unavoidable Interoperability needs well-defined
2 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Three Points
- Coexistence is unavoidable
- Interoperability needs well-defined approaches
- Reinventing should be avoided
Point 1
Coexistence is unavoidable
4 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Coexistence of RDF and Property Graphs
- Too much has been invested for any
- ne of them to get abandoned now
- Both have merits and a user base
- Not to forget SQL databases, and GraphQL
5 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
"Coexistence or Competjtjon" ???
- Not an “exclusive or”
- Coexistence and competition
– Gain an edge on the competition by embracing coexistence
- Consequence: we need interoperability
Image source: https://commons.wikimedia.org/wiki/File:COVERED_BRIDGE_AT_PERNSTEJN_CASTLE,_CZECH_REPUBLIC.jpg
Point 2
Interoperability needs well-defjned approaches
7 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Well-defjned approaches
… not just implementations
- Defining the underlying algorithm / mapping / etc.
should not be an afterthought (or even skipped at all)
- Before starting up your programing environment, approach
should be developed conceptually first (in detail!)
Image source: https://www.publicdomainpictures.net/en/view-image.php?image=253435 and https://www.flickr.com/photos/ntsb/40210711664
Point 3
Reinventing should be avoided
9 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Rhyme
“Why do you try to reinvent; If you can reuse and extend?”
- Olaf Hartig, 2019
- Advantages of “reuse and extend:”
– No need to learn something new from scratch – No need to build new tooling from scratch
- Two examples ...
10 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
RDF* and SPARQL*
- Statement-level metadata (edge properties) in RDF
- Also, abstraction for reconciling RDF and Property Graphs
– Direct mappings between RDF* and RDF – Direct mappings between RDF* and Property Graphs
Example RDF* data (in Turtle* syntax)
:bob foaf:age 23 . <<:bob foaf:knows :alice>> ex:certainty 0.9 .
Example SPARQL* query
SELECT ?p1 ?p2 ?c WHERE { <<?p1 foaf:knows ?p2>> ex:certainty ?c . }
11 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Property Graph Schemas with GraphQL SDL
Image source: http://tinkerpop.apache.org/docs/3.4.0/tutorials/getting-started/
Example Property Graph schema defined using the GraphQL SDL
type person { name: String! age: Int knows(weight:Float!): [person] @distinct @noloops created(weight:Float!): [software] @distinct @requiredForTarget } type software { name: String! lang: Language } enum Language { java javascript python }
Takeaway
13 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
Takeaway
- Coexistence is unavoidable
– does not exclude having competition as well – interoperability needed
- Interoperability needs well-defined approaches
– not just implementations
- Reinventing should be avoided
– instead, try to reuse and extend
www.liu.se
15 Olaf Hartjg @olafiartjg Panel "Coexistence or Competjtjon" at the W3C Workshop on Web Standardizatjon for Graph Data
TODO Title
- TODO: text