Re: Adjusting the suggested RDF-star naming notation

Since adding named occurrences to the RDF-star syntax is fairly agreed
upon (arity aside), I've raised the above issue at [1].

Now that we see implementers beginning to adjust to it [2], is it time
to begin finalizing syntax before it becomes too costly to fix? I know
we have important semantic questions to solve, but if we let this
"detail" slide, usability and comprehension will be hurt anyway. (And
some of us "comprehend" just as much through syntax, so every change
can hurt communication.)

Best regards,
Niklas

[1]: <https://github.com/w3c/rdf-star-wg/issues/116>
[2]: <https://lists.w3.org/Archives/Public/public-rdf-star-wg/2024Apr/0138.html>

On Thu, Jan 18, 2024 at 11:28 AM Niklas Lindström <lindstream@gmail.com> wrote:
>
> Given the possible convergence on named occurrences (as reification),
> adding naming to the RDF-star syntax is great.
>
> Unfortunately, the naming notation doesn't work well in SPARQL, as it
> collides with the use of `|` as the AlternativePath operator [1]:
>
>     SELECT * { ?s ?p ?o {| dct:issued | dct:modified "2023" |} . }
>
> (The above already means "select any triples with annotations issued
> or modified in 2023", and thus cannot be used for "with the annotation
> denoted by dct:issued, modified in 2023". Try it out in [2].)
>
> Of course Turtle is not SPARQL. But it has been designed in part with
> the intent of being easy to copy-paste from when writing SPARQL (hence
> the added support for SPARQL-style prefixes and base when Turtle was
> standardized).
>
> (I also wouldn't rule out a future SPARQL specification adding
> "alternative subject and object" support either, for shortening
> sometimes tedious unions.)
>
> A small adjustment would be to use (an ASCII version of) the "left tack":
>
>     :s :p :o {| :e -| :a :b |} .
>
>     :s :p :o {| :e -|} .
>
>     << :e -| :s :p :o >> :a :b .
>
>     SELECT * { ?s ?p ?o {| ?annot -| dct:issued | dct:modified "2023" |} . }
>
> (This reverse turnstile symbol [3] has also been used e.g. in
> mathematics [4] and APL (ambivalent left identity).)
>
> (Options working more or less well: `:=`, `:-`, `|-`, `->`, etc. Needs
> more consideration and testing on real data.)
>
> Whatever is chosen *could* also be added for naming nestable blank node blocks:
>
>     :s :p :o [ :e -| :a :b ] .
>
> (I'm not necessarily in favour of that [5], but I wouldn't argue
> against it if the popular argument is its ease of use in authoring.)
>
> (Note: N3 used to have the `:-` "iso" operator for this [6]. It was a
> "pseudo-predicate" though, which might work less well.)
>
> Best regards,
> Niklas
>
> [1]: <https://www.w3.org/TR/sparql11-query/#pp-language>
> [2]: <https://sparql.org/query-validator.html>
> [3]: <https://en.wikipedia.org/wiki/Turnstile_(symbol)>
> [4]: <https://www.mathematics-monster.com/symbols/Left-Tack.html>
> [5]: <https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/0130.html>
> [6]: <http://infomesh.net/2002/notation3/>

Received on Monday, 22 April 2024 14:23:23 UTC