- From: Andy Seaborne <andy@apache.org>
- Date: Thu, 18 Feb 2021 15:26:33 +0000
- To: public-rdf-star@w3.org
On 18/02/2021 14:02, Antoine Zimmermann wrote:
> The RDF-star syntax allows for arbitrary nesting of triples like so:
>
> << :s :p << << :a :b :c >> :y :z >> a :nesting .
>
> Why is it so, why is it useful/needed?
> There are no examples of nested triples. There are no justifications in
> the spec for allowing this. As far as I know, there are no examples in
> the past documents that defined RDF*. I did not see any use cases
> discussed for them.
>
> However, I have seen discussions that may serve as counter arguments:
> when asked why embedded triples are limited to single triples rather
> than sets of triples, it has been answered that RDF* is used to model
> property-graph-like annotations that only concern one edge at a time. In
> this case, nested triples should not be allowed, using the same
> arguments (as far as I know, it is not possible to nest edge-annotations
> in property graph systems).
>
> Nesting makes parsers more complicated, makes it more difficult to
> define the semantics of the data model as well as of the query language.
>
> If some use cases justify nested triples, then why not use cases justify
> embedded sets of triples?
>
>
> Also, a question to implementers: do you support nested embedded triples?
Yes.
Related note: It's natural because then it is only an additional RDF
term type. Otherwise there are two sets of grammar rules - with and
without <<>>; this cascades down the grammar. It's not one extra rule;
it's one extra subtree of rules. See "path" in SPARQL where there are
with and without cases, and both those get replicated.
Andy
Received on Thursday, 18 February 2021 15:26:48 UTC