Skip to content

Extending the baseline with "asserted" stuff

Enrico Franconi edited this page Nov 7, 2024 · 45 revisions

Extending the baseline with "asserted" stuff (DRAFT 2024.08.28)

We can extend the baseline by adding a new property rdfs:states (which has been called also rdfs:asserts).
This is an extension of RDFS.

We extend the RDFS interpretation of a triple if the predicate is rdfs:states, in order to enforce the truth of the triple associated to the triple term as follows:

[I+A](t) = TRUE   iff   (<[I+A](t.s), [I+A](t.o)> ∈ IEXT([I+A](t.p))  and
                         ([I+A](tt) = TRUE  if  (t.p = rdfs:states  and 
                                                 t.o is a triple term  and
                                                 tt is the triple corresponding to the triple term t.o)))

Facts

:a rdfs:states <<(:s :p :o)>> .
  entails
:s :p :o .

:a rdfs:states <<(:s :p :o)>> .
  is equivalent to
:a rdfs:states <<(:s :p :o)>> .
:s :p :o .

Given the graph:

:a1 rdf:reifies <<(:s1 :p1 :o1)>> .
:a2 rdfs:states <<(:s2 :p2 :o2)>> .

the SPARQL query

SELECT *
WHERE {?s ?p ?o}

returns:

?s    ?p            ?o
:a1   rdf:reifies   <<(:s1 :p1 :o1)>>
:a2   rdfs:states    <<(:s2 :p2 :o2)>>

while, under the RDFS entailment regime, it returns:

?s    ?p            ?o
:a1   rdf:reifies   <<(:s1 :p1 :o1)>>
:a2   rdfs:states   <<(:s2 :p2 :o2)>>
:s2   :p2           :o2

Observations

° It has been suggested that rdfs:states rdfs:subPropertyOf rdf:reifies. should hold in RDFS.

° It has been suggested that the mapping between RDF-star and LPGs should use rdfs:states instead rdf:reifies; but this introduces the possibly incomprehensible behaviour that distinct edges with the same label (type) between the same node identifiers will correspond to a unique triple in the graph, e.g.,

:e111 rdfs:states <<( :john :worksFor :A )>>.
:e222 rdfs:states <<( :john :worksFor :A )>>.
:e111 :sal 100K.
:e222 :sal 200K.

will entail the unique triple in the graph:

:john :worksFor :A.

° It has been suggested that the annotation syntax in Turtle could be mapped into rdfs:states instead of rdf:reifies. REJECTED BY A WG STRAW-POLL.

Clone this wiki locally