Skip to content
Jakob Voß edited this page May 21, 2024 · 4 revisions

This is just a sketchpad with ideas, so far

An information-preserving, schema-less encoding of RDF in Property Graphs.

Several methods have been suggested to map RDF graphs to Property Graphs (Matsumoto et al 2018, Angleset al. 2020 ...).

RDF model

RDF consists of: resources, triples, blank nodes, values with optional data type and language tags. In particular the latter (language tags) are often forgotten in academic context although practically relevant, e.g. in SKOS.

<A> <B> <C> . # Triple
<A> a <D> .   # special predicate rdf:type
<A> <E> "F"^^<G>, "H"@I . # data type, language tag 

PG data model

See PG format specification. In contrast to Angleset et al (2020), labels are optional and nodes can have multiple labels.

Mapping

Multiple possibilities:

A -> C :B  # predicate as edge label
A :D       # RDF type as node label (multiple allowed)
  E^G: "F"  # data type in property key
  @I@E: "H" # language tag in property key
  E: "H"    # additional property without language tag
A :D       # RDF type as node label (multiple allowed)
  E: "F"   # data type limited to PG data types
  E: "H@I" # language tag in property key
A :D       # RDF type as node label (multiple allowed)
  E: "F"   # data type limited to PG data types
  E: "H"   # literal without language tag
  E@: "I"  # language tag(s) as additional property  
A -> ? value:"F" type:"G"  # values as nodes: required more nodes
A -> ? value:"H" lang:"I"

References