Re: Consolidating triple/edges

> 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