W3C home > Mailing lists > Public > public-rdf-star@w3.org > February 2021

Re: Why nested triples?

From: thomas lörtsch <tl@rat.io>
Date: Fri, 19 Feb 2021 18:41:36 +0100
Cc: Andy Seaborne <andy@apache.org>, public-rdf-star@w3.org
Message-Id: <28467729-32CC-4A58-A0BA-80FACB51D79B@rat.io>
To: Miel Vander Sande <miel.vandersande@meemoo.be>


> On 19. Feb 2021, at 18:09, Miel Vander Sande <miel.vandersande@meemoo.be> wrote:
> 
> The use cases are not so future. In cultural heritage and GLAM sector, the need to express uncertainty and claims goes deep.  
> 
> An example from possible metadata on the graphic novel 'From Hell':
> :AlanMoore :used << :StephenKnight :suggested <<:WilliamGull :operatedOn :AnnieCrook>> >> .
> 
> If you don't want to use nesting, then don't? I don't think it will be used much in practice, but I don't want to get into the situation where we have to invent stange constructs because we were being too pragmatic. Clearly, Jena and Ontotext already managed to implement the syntax, so it can't be that much of a showstopper.

In general I agree to that way of thinking. I was commenting on how arbitrary Andy’s argument is, not on his resolution.

But the resolution is nonetheless strange. Antoine made a good point about the absence of nesting in Property Graphs. RDF* seems to have less and less to do with Property Graphs but much rather become a crippled version of N3. I wonder why nobody cares about that or thinks about the consequences. My mail "On the semantics of RDF*" tried to discuss not the technicalities but the _meaning_ of the proposed semantics but got very little response. 

OTOH embedding multiple triples is still ruled out although it seems to work well with formulas in N3. WHy that, why not this?

Design decisions generally tend to be hard to argue about but in this CG they quite often seem quite arbitrary. For example I never got an explanation why Olaf ditched the seminal example in favor of the abtract triple type. Was it intuition, was it to avoid discussions about named graph semantics? Nobody seems to know, or care. This ship seems to be steered by tactical considerations, by hidden agendas and pragmatic coalitions. I don’t want to diminish the hard work on technical detail but I think it takes more than that to produce a good standard.

Thomas


> Op vr 19 feb. 2021 om 17:00 schreef thomas lörtsch <tl@rat.io>:
> 
> 
> > On 19. Feb 2021, at 15:16, Andy Seaborne <andy@apache.org> wrote:
> > 
> > It does not have to be as either/or.
> > 
> > An application/sub-system can mask nested embedded triples from a general parser.
> > 
> > Current use cases are not defining the limit of uses in the future.
> > 
> > "largely unnecessary" is to me a reason to include them, because we don't know the future use cases and patterns
> 
> This seems to me to be as arbitrary an argument as it can possibly get.
> 
> Thomas
> 
> 
> 
> > - as per Olaf's example.
> > 
> >    Andy
> > 
> > On 18/02/2021 22:10, Holger Knublauch wrote:
> >> My input:
> >> I think nested triples should not be allowed. They are largely unnecessary, will cause extra work and put limitations on the design choices.
> >> As an implementer I can say that we don't support nested triples and do not want to (have to) support them.
> >> Even in the case that RDF-star introduces a new term type, it would be easy to exclude certain combinations, such as that triple terms cannot be subject, predicate or object of another triple term. Similar restrictions (thankfully) already exist in normal, non-generalized RDF. Such restrictions mean that algorithms that actually use/display/consume RDF have fewer cases to cover, and this will help the adoption of RDF-star in industry.
> >> There are in my experience significant downstream costs to users even if it sounds nice, consistent and symmetric from a spec point of view and for those who write low-level algorithms, parsers etc.
> >> Holger
> >> On 2021-02-19 12:02 am, 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?
> > 
> 
> 
Received on Friday, 19 February 2021 17:41:56 UTC

This archive was generated by hypermail 2.4.0 : Friday, 19 February 2021 17:41:56 UTC