Re: A different symbol for {|

On 07/01/2021 23:06, Pavel Klinov wrote:

> On Thu, Jan 7, 2021 at 6:00 PM Andy Seaborne <andy@apache.org 
> <mailto:andy@apache.org>> wrote:
>
>
>     (...)
>
>     Pavel - out of curiosity : what is generated for cases where there
>     is a
>     list of objects?
>
>     :a :knows {:since 1900; :source "..."} :b , :c .
>
>
> Ah right, this wouldn't be allowed (so I was wrong re: "all" Turtle 
> shortcuts - sorry!).
> (...)
> It wasn't really about the exact position of the { .. } block, though 
> placing it after the predicate in SPARQL* looks a bit Cypher'esque.

Aligning with Cypher could indeed be considered desirable, as it would 
make it easier for people to switch between languages.

However, in this particular case, I think the design of both languages 
(Cypher on the one hand, Turtle/SPARQL on the other hand) are already 
different enough to justify a difference here as well:

* Cypher makes it easier to describe a bunch of arcs forming a path 
(e.g. (a)-[r1]->(b)-[r2]->(c) ). In this kind of constructs, putting the 
edge attribute after the destination node would be very unnatural and 
confusing...

* Turtle makes it easier to describe a bunch or arcs with the same 
subject (using ";"), and possibly the same predicate (using ","). As 
pointed out by Andy in the example above, putting triple annotations 
between the predicate and object in such cases is awkward and confusing 
(is the annotation factorized, like the predicate, or is it

Furthermore, even in complex cases, what I like in the "annotation after 
object" proposal is that it is closer to English (or French, for that 
matter):

   :a :knows :b {| :since 2001 |}, :c {| :since 2003 |}.

but obviously this is a very cultural bias -- may be this is *less* 
natural for native speakers of other languages?

> Cheers,
> Pavel
>
>
>     [[
>     I don't have any strong opinion on the syntax and many work
>     technically
>     so, to me, it is about utility and community e.g. N3
>     ]]
>
>     >
>     > Note that it has implications for TriG since :g { :a :knows {:since
>     > 1900; :source "..."} :b } makes it obvious that both :a :knows
>     :b and
>     > the annotations are asserted in :g. This was a plus for us since
>     Stardog
>     > asserts embedded statements in the same NG but someone can
>     regard it as
>     > a lack of flexibility (which is true about PG in general, not
>     really a
>     > syntax issue).
>     >
>     > Not really suggesting for standardisation, just mentioning since
>     it came up.
>
>     Thanks for being clear.
>
>     Also : in N3
>
>     :a :predicate { ... triples ... } .
>
>          Andy
>     >
>     > Cheers,
>     > Pavel
>     >
>     >
>     >     or
>     >
>     >          :a :knows <<:since 1900; :source "...">> :b .
>     >
>     >
>     >
>     >
>     >      > Sent: Tuesday, January 05, 2021 at 3:01 PM
>     >      > From: "thomas lörtsch" <tl@rat.io <mailto:tl@rat.io>
>     <mailto:tl@rat.io <mailto:tl@rat.io>>>
>     >      > To: "Richard Cyganiak" <richard@cyganiak.de
>     <mailto:richard@cyganiak.de>
>     >     <mailto:richard@cyganiak.de <mailto:richard@cyganiak.de>>>
>     >      > Cc: public-rdf-star@w3.org
>     <mailto:public-rdf-star@w3.org> <mailto:public-rdf-star@w3.org
>     <mailto:public-rdf-star@w3.org>>, "Miel
>     >     Vander Sande" <miel.vandersande@meemoo.be
>     <mailto:miel.vandersande@meemoo.be>
>     >     <mailto:miel.vandersande@meemoo.be
>     <mailto:miel.vandersande@meemoo.be>>>, "Andy Seaborne"
>     >     <andy@apache.org <mailto:andy@apache.org>
>     <mailto:andy@apache.org <mailto:andy@apache.org>>>, "Ghislain
>     ATEMEZING"
>     >     <ghislain.atemezing@gmail.com
>     <mailto:ghislain.atemezing@gmail.com>
>     <mailto:ghislain.atemezing@gmail.com
>     <mailto:ghislain.atemezing@gmail.com>>>
>     >      > Subject: Re: A different symbol for {|
>     >      >
>     >      > +1
>     >
>

Received on Friday, 8 January 2021 09:26:03 UTC