- From: Andy Seaborne <andy@apache.org>
- Date: Wed, 20 Jan 2021 13:06:18 +0000
- To: public-rdf-star@w3.org
On 20/01/2021 08:34, Miel Vander Sande wrote:
> - I would stay away from { } because of the connotation with graphs in
> N3 and Trig and some of the constructs in SPARQL. All of them have
> complete triple statements that include a subject. IMO the use of * or |
> doesn't really make that super clear.
>
> Trig :a { :x :y :z } but I can't write :a { :y :z }
> N3 :a :b { :x :y :z } but I can't write :a :b { :y :z }
> SPARQL WHERE { :x :y :z } but I can't write WHERE { :y :z }
> RDF* . :a :b :c *{ :y :z } but I can't write :a :b :c *{ :x :y :z }
>
> If you want to stick to something like that, *[ ] would be more uniform
> (but that would probably cause issues with blanknode parsing )
Yes - [ ] based ones are harder because of predicateObjectLists and ANON.
"[" does have the right aspect of "same subject". If there a combination
that involves "[" to help here?
[|...|]
"|" is fairly unencumbered. I'm not sure why it isn't in PN_LOCAL_ESC.
* is trailing character in prefix names (as "\*") and SPARQL property paths
In Turtle, while unusual, this is legal:
:s :abc\* :o .
:s :abc\*[] .
and *[ already occurs in SPARQL.
:s :p*[] .
so while not impossible (its tokenzing so left-to-right, longest wins;
in the SPARQL case it results in the current parsing) it's cluttered.
(though noting the idea that the CG is working on "RDF star" and RDF* is
the original input).
The extra character in the close may be unnecessary though nested
[]-structures exist so visually a different end might be desirable.
A visual issue with [ ] based syntax is that [] and [ ... ] are already
in use for grouping. The original suggestion was [[ .. ]] but, in
current Turtle, adjacent "]]" is possible as two separate tokens so this
specific choice could impact existing data.
<s> :weather [ :temperature [ :value 25 ; :units :Celsius ]] .
In N3, [] can be property so "[[" (predicateObjectList, bnode property)
is possible.
Having a safe, impossible-at-the-moment token for the start avoids any
possible impact on existing data if the end is not a clash.
Keywords are a bigger space of impossible-at-the-moment tokens but
Turtle data isn't in that style.
> - Another (minor) concern I have about annotations in a fourth position
> is that it breaks the pattern introduced by all other syntaxes (with the
> exception Trig).
This is addition convenience syntax to do two things: assert the triple
and triple(s) about that triple.
Other convenience syntax:
:s :p [ :a :b ; :c :d ] .
or
:s :p ( :a :b :c :d ) .
> They all note things down in three (= triples) or four
> (= quads) parts, shorthand syntax included.
>
> << :subject :predicate :object >> :source :URL . -> 3 parts
> {| :subject :predicate :object |} :source :URL . -> 3 parts
>
> :subject :predicate :object {| :source :URL |} . -> 4 parts
> :subject :predicate :object @{ :source :URL } .-> 4parts
>
> N-Triples/N-Quads are indeed something else, but let's not ignore the
> patterns they have already introduced. Also, Turtle is superset of
> N-Triples,
And that remains true.
Annotation syntax is not replacing <<>>. It is "as well as". It's in the
test suite - the NT-star tests are duplicated as Turtle-star tests.
Andy
> Trig & N3 are supersets of Turtle and N-Quads is a superset
> of N-Triples - shouldn't we guarentee that future RDF* extensions of
> these syntaxes remain feasible (eg. getting into shorthand hell) and
> without diverging too much from these superset relations. Something that
> has four parts reads like a quad to me. But this is just personal
> preference.
>
>
>
> Op wo 20 jan. 2021 om 00:51 schreef Holger Knublauch
> <holger@topquadrant.com <mailto:holger@topquadrant.com>>:
>
>
> On 2021-01-20 4:10 am, Andy Seaborne wrote:
> > + Is nesting allowed in the annotationBlock? that is, be able to add
> > annotations to the extra triples inside the annotation block?
> > (Technical consequence: if not, then the Turtle grammar has to have
> > more changes to exclude this possibility by having versions of some
> > grammar rules with and without the annotation syntax, and also in
> the
> > grammar rules a production uses. Annotation is part of
> > predicateObjectList.
> >
> > Nesting requires a delimiter style - mark the start and end of the
> > annotation block.
>
> Has the RDF* group agreed that nesting should be supported in
> general? I
> would consider this feature rather unnecessary. Allowing multiple
> levels
> of annotations (i.e. reification of reified triples) puts extra burden
> on developers who then need to create UIs and other algorithms around
> those cases. And how many of the users are going to understand these
> constructs?
>
> Holger
>
>
>
Received on Wednesday, 20 January 2021 13:06:33 UTC