- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Tue, 19 Dec 2023 16:39:10 -0800
- To: Andy Seaborne <andy@apache.org>
- Cc: RDF-star Working Group <public-rdf-star-wg@w3.org>
> On Dec 18, 2023, at 12:47 PM, Andy Seaborne <andy@apache.org> wrote: > > > Looking at the examples here and from the Semantics TF, it seems that > the visual similarity of > > <<:s :p :o >> > > as a term and > > <<| n | :s :p :o >> > > as an occurrence can be confusing. It is too easy to write > a term when meaning an occurrence. > > > Suggested modification: > > <<( :s :p :o )>> > > is the triple term. > > This frees up > > << :s :p :o >> > > to be an occurrence with a fresh bnode as name. > > This would otherwise be "<<| [] | :s :p :o >>" or > "<<| | :s :p :o >>". > > It seems likely to me tat this is a common pattern when the triple isn't asserted. > > > So we have: > > Occurrence: > << :s :p :o >> > <<| N | :s :p :o >> > > Triple term: > <<( :s :p :o )>> To be clear, a Triple term would be a type, while an occurrence is a token? Are these fundamental in the abstract syntax? Or is the token considered syntactic sugar for something like [] rdfx:occurrenceOf <<( :s :p :o >>? Can a term contain an occurrence, or visa-versa? E.g. <<( << :s :p :o >> :o1 :o2 )>> or << <<( :s :p :o )>> :o1 :o2 >>? Would N-Triples contain both variations, or just the triple term? And, to James’s point, can you say << :s :p :o >> a <<( :s1 :p1 :o1 )>>; if so, would this be the same as rdfx:occurrenceOf? > > Annotation: > :s :p :o {| :p :z |} > :s :p :o {| N | :p :z |} > (the last one is fiddly in the grammar because simply writing in ABNF is ambiguous for some parsers) Presumably, an annotation is on an occurrence and not on a triple term/type? Gregg > > Andy >
Received on Wednesday, 20 December 2023 00:39:28 UTC