Re: [N3] What is the meaning of '=', 'has ...', and 'is ... of'?

On Nov 13, 2023, at 3:46 PM, Vivien Kraus <vivien@planete-kraus.eu> wrote:
> 
> Le lundi 13 novembre 2023 à 15:36 -0500, William Van Woensel a écrit :
>>> This is not a big problem, but I love the idea of streaming
>>> triples. It
>>> is at the heart of the Turtle parser. If I have to wait for a large
>>> closed collection to be parsed, then it defeats the purpose I
>>> guess.
>> 
>> Yes, unfortunately, and this is the case for both collections and
>> formulas in N3 (the benefits of simple yet streamable N-triples!).
>> Wondering how the streaming Turtle parser deals with collections;
>> does it assume their reification as first-rest pairs?
> 
> Exactly! So when you parse it, you emit _:b1 rdf:first :value . _:b1
> rdf:rest _:b2 . etc until the end which is rdf:nil, and use _:b1 as the
> collection.
> 
> https://www.w3.org/TR/turtle/#collection
> 
> For formulas, I just add a "graph" term and define it when emitting a
> triple in a formula. So I do not have to keep the formula data around.
> 
>>> What about "has"? I can read that section “C. Changes since the
>> Team
>>> Submission” lists the “Removed @has.” item (not renamed to “has”,
>> but
>>> really removed, as opposed to @is .. @of which has been renamed).
>>> However, “has” is still in the grammar.
>> 
>> You are right, this was again inaccurately stated in the spec. The
>> “has” is still supported (like “is .. of”, ...), just its “@“ version
>> has been dropped. 
> 
> Should I assume “has expression” simply means “expression”? I still
> don’t know.

Ah sorry! The “has” keyword does not add anything - it means the same thing as simply listing the predicate. AFAIK it was meant for a kind of narrative symmetry with “is .. of”:  just like “:y is <predicate> of :x”, one can say “:x has <predicate> :y”.


W

> Vivien

Received on Monday, 13 November 2023 20:59:01 UTC