On 25/02/2021 17:06, Zak Mc Kracken wrote:
Hi Andy,

thank you again and sorry for my late reply.

On 17/02/2021 10:49, Andy Seaborne wrote:

There is no special support for SPARQL-star like use of another, plain server.


But, what if the endpoint doesn't support -star syntax? I'd expect a syntax error.

yes.

Thanks for the clarification.


RDF-star is not exactly the original RDF reification. You can do use it for the same use cases but not in a simple replacement fashion.

Yes, I read this around. I've also read that there are two different semantic interpretations (aligning with reified statements or considering RDF* statements are something different).

Do you mean SA and PG modes?


PG => there is always the target triple.

<<:s :p :o>> :q :z .

means

:s :p :o .

is also in the graph (the link annotated exists).

SA there is not such assumption.

<<:s :p :o>> :q :z .

is one triple.

RDF-star is the latter, the original RDF* parser are the former.

RDF-star means you can have the annotations in one graph and the real data in another the union the two.

When I think of translating RDF* to/from rdf:Statement, I think it would be an optional mode, which could be enabled/disabled in a particular software. But I haven't thought of all the possible practical implications, for the moment I've in mind annotated relations ( provenance, F-score, pvalue, etc), for which working with RDF* would be useful but not all the triple stores support it as yet.

 but if someone else says

<<:s :p :o >> :validFrom "Saturday" ;
              :validTo "Sunday" .


_:b0
    rdf:subject :s;
    rdf:predicate :p
    rdf:object :o;
    :validFrom "Monday" ;
    :validFrom "Saturday" ;
    :validTo "Wednesday" ;
    :validTo "Sunday" .

whish is gibberish.

It needs to be:

<<:s :p :o >> :valid [ :from "Monday" ; :to "Wednesday" ] .
<<:s :p :o >> :valid [ :from "Saturday" ; :to "Sunday" ] .

As you say, this doesn't seem to be a problem related to the possible interpretation of RDF-star statements, <subj> createdOn d1, d2 is likely inconsistent, no matter if <subj> is a plain URI or a triple. I mean, if one states  <<:s :p :o>> createdOn d1 and then <<:s :p :o>> createdOn d2 (in the same named graph or under the NG union semantics), this should result in two statements having the same subject triple, or am I missing something?

Not that I can see.

In full reification there is the possibility of expressing it as:

_:b0
     rdf:subject :s;
     rdf:predicate :p
     rdf:object :o;
     :validFrom "Monday" ;
     :validFrom "Saturday" ;

_:b1
    rdf:subject :s;
    rdf:predicate :p
    rdf:object :o;
    :validTo "Wednesday" ;
    :validTo "Sunday" .

Two different "statings" (the action to making a statement).

And a lot of triples.

The other problem with reification is fragile data:

[
     rdf:subject :s1;
     rdf:subject :s2;
     rdf:predicate :p
     rdf:object :o .
]


[
     rdf:subject :s1;
     rdf:object :o .
]

    Andy



Marco.



Reply via email to