- From: William Van Woensel <william.vanwoensel@gmail.com>
- Date: Mon, 13 Nov 2023 15:58:43 -0500
- To: Vivien Kraus <vivien@planete-kraus.eu>
- Cc: public-n3-dev@w3.org
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