Re: [External] : Can a triple-term in an N-Triple 1.2 statement have "infinite" number of atomic terms?

good evening;

has there been any investigation of the implementation complexity to provide support for anything beyond 0-depth statement grammar and indices?
given the threshold effort for 1-depth support,
- would it not be the case that, once a parser supports 1-depth nesting, it would be more effort to restrict the 1-depth term syntax than not?
- would it not be the case that, once an index architecture supports 1-depth triple terms, the effort to support n-depth triple terms would be marginal?

> On 27. Jan 2025, at 16:44, Souripriya Das <souripriya.das@oracle.com> wrote:
> 
> Sorry, I meant the following Turtle 1.2 statement ... (not the shortcut version involving << ... >> — thanks to Pierre-Antoine and Enrico for pointing this out)
>     :s1 :p1 <<( :s2 :p2  ... <<( :sN :pN  :oN )>>  ... )>> .
> 
> So, can an implementation support a chosen upper limit for the depth of nesting -- to say 0 (yes, even 0), 1, 2, or whatever -- for triples-terms and still be conformant with RDF 1.2?
> 
> Since there is no way to represent a triple involving an N-depth triple-term in a triple-store that supports depth less than N, interoperability of data will be affected. The following statement, for example,
>      :s1 :p1 <<( :s2 :p2 <<( :s3 :p3  <<( :s4 :p4 :o4 )>> )>> )>> .
> cannot be stored in a triple-store that does not support the depth of nesting needed for this statement.
> 
> Pierr-Antoine wrote:
> > Note however that this is an extreme corner case, since most of the time, people would make statements about reifiers rather than about triple terms themselves.
> 
> My concern is whether we are putting too much complexity into RDF1.2 to support rare situations and thereby creating potential for interoperability issues.
> 
> Thanks,
> Souri.
> 
> From: Franconi Enrico <franconi@inf.unibz.it>
> Sent: Monday, January 27, 2025 9:13 AM
> To: Souripriya Das <souripriya.das@oracle.com>
> Cc: Pierre-Antoine Champin <pierre-antoine@w3.org>; Andy Seaborne <andy@apache.org>; public-rdf-star-wg@w3.org <public-rdf-star-wg@w3.org>
> Subject: Re: [External] : Can a triple-term in an N-Triple 1.2 statement have "infinite" number of atomic terms?
>  Souripriya Das  wrote:
>> 
>> 
>> So, if we go with such a "no nested triples-terms" restriction in N-Triples 1.2, conversion of the following Turtle 1.2 statement (containing a nested triple-term)
>>     :s1 :p1 <<( :s2 :p2  ... <<( :sN :pN  :oN )>>  ... )>> .
>> to N-Triples 1.2 will be the following set of statements:
>>     :s1 :p1 _:b2 .
>>     _:b2 rdf:reifies <<( :s2 :p2 _:b3 )>> .
>>               ...
>>     _:bN rdf:reiffes <<( :sN :pN :oN )>> .
> 
> 
> No. The Turtle 1.2 statement
> :s1 :p1 <<( :s2 :p2  ... <<( :sN :pN  :oN )>>  ... )>> .
> is represented in N-Triples in the same way, since it does not make use of a Turtle 1.2 shortcut.
> Therefore you need to have in N-Triples "nested triples-terms”, otherwise we would not be able to capture the RDF 1.2 grammar as we have decided. I expect that triples with nested triple terms will be rare, just like triples with triple terms without rdf:reifies will be rare; their combination will be even more rare.
> On the other hand, the Turtle 1.2 statement
> :s1 :p1 << :s2 :p2  ... << :sN :pN  :oN >>  ... >> .
> uses a shortcut, and it is expanded in N-Triples as you say:
> :s1 :p1 _:b2 .
>  _:b2 rdf:reifies <<( :s2 :p2 _:b3 )>> ...._:bN rdf:reiffes <<( :sN :pN :oN )>> .
> 
> cheers
> —e.

---
james anderson | james@dydra.com | https://dydra.com

Received on Monday, 27 January 2025 17:51:51 UTC