- 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