- From: Andy Seaborne <andy@apache.org>
- Date: Sun, 17 Mar 2024 10:47:17 +0000
- To: public-rdf-star-wg@w3.org
On 17/03/2024 08:45, John Walker wrote: ... > If so, being very simple here, could one entertain introducing a TRIPLE > keyword somewhat analogous to GRAPH into the grammar for SPARQL and > constrain that to only allow a single triple pattern. > > WHERE { > GRAPH ?g { > ?s ?p ?o . > TRIPLE ?t { ?s ?p ?o } > ?t ?t_p ?t_o . > } > } ... > this does not allow for naming statements without asserting them A key aspect being explored by the working group is the difference between the use/mention/claim/occurrence... of a triple (as a "token") and the abstract notion of a triple as a relationship (as a "type"). There is work on "annotation syntax" in Turtle/Trig/SPARQL which combines asserting a triple (triple occurrence) and saying something about that occurrence. :s :p :o {| ex:source <v> |} . which as syntax is equivalent to the longer form: :s :p :o . << :s :p :o >> ex:source <someSource> . The occurrence (reification) has an generated blank node. The forms <<...>> and {|...|} are convenience syntax forms (c.f. RDF lists). There is also a syntax variant to have an explicit name for the occurrence should that be needed. In N-triples, ":s :p :o {| ex:source <someSource> |} ." becomes :s :p :o . _:b rdf:reifies <<( :s :p :o )>> . _:b ex:source <someSource> . <<( :s :p :o )>> is an RDF term for the triple concept. The syntax forms {|...|} and <<...>> will be the more common usage in Turtle. There is editorial work in progress to get this into the working drafts. Andy
Received on Sunday, 17 March 2024 10:47:23 UTC