RDF goes meta

What (and what not) to expect of RDF-star

Eurecom - 2022-06-15

Pierre-Antoine Champin

Pierre-Antoine Champin

picture of PA Champin

RDF-star in a nutshell

An example RDF-star graph representing a person named 'Pierre-Antoine Champin' working for an organisation named 'World Wide Web Consortium' since February 2021

Why it matters

Alternatives suck are not ideal


Fine-grained provenance

Pierre-Antoine works for W3C *according* to the W3C staff page

Explainable AI

An example RDF-star graph representing an inference, following rule rdfs2. The premises are that Pierre-Antoine is working for W3C, and that the domain of 'working for' is the class Person. The conclusion is that Pierre-Antoine has type Person.

Property Graphs

An example property graph representing a person named 'Pierre-Antoine Champin' working for an organisation named 'World Wide Web Consortium' since February 2021

The RDF stack

The different layers of the RDF standard

RDF-star's abstract syntax

The different layers of the RDF standard, with abstract syntax hilighted

RDF's abstract syntax

RDF-star's abstract syntax


→ asserted triple / quoted triple

Turtle-star

The different layers of the RDF standard, with Turtle hilighted

Turtle-star


<< <#pa> ex:workingFor <#w3> >>
  prov:wasDerivedFrom
    <https://www.w3.org/People>.
According to some web page, Pierre-Antoine would be working for W3C.

Turtle-star

<#pa> ex:workingFor <#w3>.
<< <#pa> ex:workingFor <#w3> >>
  prov:wasDerivedFrom
    <https://www.w3.org/People>.
According to some web page, Pierre-Antoine is working for W3C.

Turtle-star

<#pa> ex:workingFor <#w3> {|
  prov:wasDerivedFrom
    <https://www.w3.org/People>;
|}.


# Annotation syntax
According to some web page, Pierre-Antoine is working for W3C.

Turtle-star

<#pa> a schema:Person;
  schema:name "Pierre-Antoine Champin";
  ex:workingFor <#w3> {|
    schema:startDate "2021-02-01"^^xsd:date;
    prov:wasDerivedFrom
      <https://www.w3.org/People>;
  |}.
Pierre-Antoine is working for W3C, since 2021 and according to W3C.

Turtle-star & co.


SELECT ?s ?o ?src {
  << ?s ex:workingFor ?o >>
    prov:wasDerivedFrom ?src
}

JSON-LD-star

The different layers of the RDF standard, with JSON-LD hilighted

JSON-LD-star

{
  "@context": { ... }
  "@id": {
    "@id": "#pa",
    "workingFor": "#w3"
  },
  "from": "https://www.w3.org/People"
}
According to some web page, Pierre-Antoine would be working for W3C.

JSON-LD-star

{
  "@context": { ... }
  "@id": "#pa",
  "workingFor": {
    "@id": "#w3",
    "@annotation": {
      "from": "https://www.w3.org/People"
    }
  }
}
According to some web page, Pierre-Antoine would be working for W3C.

RDF-star semantics

The different layers of the RDF standard, with semantics hilighted

RDF-star semantics

Layered above "plain RDF" semantics

Asserted triples can not be "cancelled"

Not in RDF, not in RDF-star (mononotic semantics)

Pierre-Antoine was working for ERCIM from 2020 to 2021, and is now working for W3C

Asserted triples can not be "cancelled"

Be careful when you convert PG edges to RDF-star...

Pierre-Antoine was working for ERCIM from 2020 to 2021, and is now working for W3C Pierre-Antoine was working for ERCIM from 2020 to 2021, and is now working for W3C

Asserted triples can not be "cancelled"

... or accept a weaker vocabulary ("is, has been or will be working for")

Pierre-Antoine was working for ERCIM from 2020 to 2021, and is now working for W3C Pierre-Antoine was working for ERCIM from 2020 to 2021, and is now working for W3C

Triples are "unique"

They are entierly defined by their subject, predicate and object

John has been working for ACME in 2019 and in 2021

Triples are "unique"

Multiple "occurrences" of the relationship must be reified

John has been working for ACME in 2019 and in 2021 John has been working for ACME in 2019 and in 2021

Require an explicit relationship between a quoted triple and its reifications

Triples are opaque

<< ex:superman ex:can ex:fly >> dct:source ex:dailyPlanet.
ex:superman owl:sameAs ex:clark.

does not entail

<< ex:clark ex:can ex:fly >> dct:source ex:dailyPlanet.

Triples are opaque

<< <#pa> ex:workingFor <#w3> >> s:startDate "2021-02-01"^^xsd:date.
ex:workingFor owl:inverseOf ex:staff.

Should this entail the following?

<< <#w3> ex:staff <#pa> >> s:startDate "2021-02-01"^^xsd:date.

Triples are opaque

<< <#pa> ex:workingFor <#w3> >> s:startDate "2021-02-01"^^xsd:date.
ex:workingFor rdfs:subPropertyOf ex:involvedIn.

Should this entail the following?

<< <#pa> ex:involvedIn <#w3> >> s:startDate "2021-02-01"^^xsd:date.

Transparency-enabling properties

E.g.

Conclusion