- From: Andy Seaborne <andy@apache.org>
- Date: Tue, 6 Aug 2024 15:16:03 +0100
- To: public-rdf-star-wg@w3.org
On 05/08/2024 16:37, Thomas Lörtsch wrote: > some help from SPARQL. If it is RDFS-star entailment regime, there is nothing extra to do in SPARQL. > SPARQL > ====== > > In Friday’s meeting we discussed if SPARQL should support stated triple terms by querying for them too, even when the BGP only mentions reified triple terms. To that end 'rdfs:states' should be defined as a subproperty of rdf:reifies. > However, upon further reflection it seems to me that the real benefit The WG has been using use cases. It would be helpful to have a use case to justify a feature - is it common enough to motivate special syntax given it can already be done in RDFS-star. > would be in having any query search not only all (standard) triples but also all stated triple terms. E.g. a query for > > ?s ?p ?o > > over the following graph > > _:t1 rdfs:states <<( :s :p :o )>> ; > :a :b. > _:t2 rdfs:reifies <<( :x :y :z )>> ; > :c :d. > > would return also the triple from the stated triple term, but not from the reified one: > > _:t1 rdfs:states <<( :s :p :o )>> . > _:t1 a :b . > :s :p :o . > _:t2 rdfs:reifies <<( :x :y :z )>>. > _:t2 :c :d. > > This might be made the standard behaviour of SPARQL-star or a switchable configuration option or a keyword (something like "WITH STATED"). Breaking the relationship of pattern matching and simple entailment is a major step. Why this feature and not others? No configuration options. A query should give the same answers at all endpoints with the same data. With simple entailment, the user writes: SELECT ?r { ?r rdf:states|rdf:reifies ?T . } and for statements and stated terms (mentioned else thread) SELECT ?r { ?r rdf:states <<( ?s ?p ?o )>> . } Property paths break up BGPs. From a data access point of view, multiple properties are a burden in query writing, it would be better to qualify the reifier: Data: :r rdf:reifies <<( :s :p :o )>> . :r rdf:type rdf:Stated . then SELECT ?r { ?r rdf:reifies ?T . } finds all reifiers SELECT ?r { ?r rdf:type rdf:Stated . } finds stated ones and SELECT ?r { ?r rdf:type rdf:Description . } finds describing reifiers. This is open - there can be other characteristics related to reifiers e.g source. Andy
Received on Tuesday, 6 August 2024 14:16:09 UTC