- From: Thomas Lörtsch <tl@rat.io>
- Date: Sat, 17 Aug 2024 10:28:25 +0200
- To: public-rdf-star-wg@w3.org, Souripriya Das <souripriya.das@oracle.com>, James Anderson <anderson.james.1955@gmail.com>, RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <EC6E203C-A12D-45F3-A39C-61C707CAA027@rat.io>
Hi Souri, IMO the answer should be 3, because the whole point of this rdfs:states thing is to go beyond what reification (and rdf:reifies or whatever its name will end up to be) can provide, and interpret triple terms in the rdfs:range of rdfs:states as actually stated. That sure is beyond simple RDF entailment, but IIUC SPARQL-star can do it. Therefore, wouldn't it be more practical to define that any query runs over standard triples AND also triple terms that are the object of an rdfs:states relation? (maybe not always always, but triggered by a keyword like WITH QUALIFIED)? Wouldn't that perfectly capture the intention that triple terms in the rdfs:range of rdfs:states are assumed/expected to be true in the graph? Maybe call this SPARQL-star entailment? IIUC this is the approach taken in the original RDF* proposal, so given that RDF* had multiple implementations, including pretty high profile ones, it should be practical, right? Best, Thomas Am 17. August 2024 05:53:01 MESZ schrieb Souripriya Das <souripriya.das@oracle.com>: >Hi James, > >>> 1) Two-property example: >>> >>> # mapping from relational data: one-to-one, using RDF1.2-supported "asserted under id" tuples (that use the rdf:asserts property) >>> :stint1 rdf:asserts <<( :Bob :workedFor :A )>> ; :start 1980 ; :end 1990 . >>> :stint2 rdf:asserts <<( :Bob :workedFor :B )>> ; :start 1990 ; :end 2000 . >>> :stint3 rdf:asserts <<( :Bob :workedFor :A )>> ; :start 2000 ; :end 2010 . >>> >>> # adding some unreliable info using RDF1.2-supported "reified under id" tuple (that use the rdf:reifies property) >>> :stint4 rdf:reifies <<( :Bob :workedFor :B )>> ; :start 2010 ; :end 2020 . >> under this proposal, what would be the result of the following sparql query > >> select (count (?for) as ?count) >> where { :Bob :workedFor ?for } > >> were it applied to a graph which included those four statements? > >The result will be [ ?count = 0 ]. This is because no s-p-o triple was loaded and due to the "no side-effect" principle of this approach, no such s-p-o triple was automatically generated. In general, asserted id-s-p-o tuples do not have the side-effect of generating the corresponding s-p-o triples. > >Here are some related variations of the above query that will produce different results: >- select (count(?for) as ?count) where { ?id rdf:asserts <<( :Bob :workedFor ?for )>> } . > RESULT: [ ?count = 3 ] >- select (count(?for) as ?count) where { ?id rdf:reifies <<( :Bob :workedFor ?for )>> } . > RESULT: [ ?count = 1 ] >- select (count(?for) as ?count) where { ?id ?p <<( :Bob :workedFor ?for )>> . FILTER( ?p IN (rdf:asserts, rdf:reifies) ) } . > RESULT: [ ?count = 4 ] > >Thanks, >Souri. > >________________________________ >From: James Anderson <anderson.james.1955@gmail.com> >Sent: Friday, August 16, 2024 8:43 PM >To: RDF-star Working Group <public-rdf-star-wg@w3.org> >Subject: Re: [External] : example showing why rdf:state is essential > >good morning; > >> On 16. Aug 2024, at 23:15, Souripriya Das <souripriya.das@oracle.com> wrote: >> >> ... >> >> 1) Two-property example: >> >> # mapping from relational data: one-to-one, using RDF1.2-supported "asserted under id" tuples (that use the rdf:asserts property) >> :stint1 rdf:asserts <<( :Bob :workedFor :A )>> ; :start 1980 ; :end 1990 . >> :stint2 rdf:asserts <<( :Bob :workedFor :B )>> ; :start 1990 ; :end 2000 . >> :stint3 rdf:asserts <<( :Bob :workedFor :A )>> ; :start 2000 ; :end 2010 . >> >> # adding some unreliable info using RDF1.2-supported "reified under id" tuple (that use the rdf:reifies property) >> :stint4 rdf:reifies <<( :Bob :workedFor :B )>> ; :start 2010 ; :end 2020 . > >under this proposal, what would be the result of the following sparql query > >select (count (?for) as ?count) >where { :Bob :workedFor ?for } > >were it applied to a graph which included those four statements? > >--- >james anderson | james@dydra.com | https://urldefense.com/v3/__https://dydra.com__;!!ACWV5N9M2RV99hQ!O59l_7OCGsyoa5ODrrwqZX8bOZsd3C4m0i87102jVP-7bTsuGnmqQhuZQZcTSaaEL0KpjNh47UVAcjmNyOqSRn9IwmfNyA$ > > >
Received on Saturday, 17 August 2024 08:28:38 UTC