- From: Martynas Jusevičius <martynas@atomgraph.com>
- Date: Fri, 13 Oct 2017 11:16:57 +0200
- To: "Sean B. Palmer" <sean@miscoranda.com>
- Cc: SW-forum Web <semantic-web@w3.org>, public-lod <public-lod@w3.org>, www-archive <www-archive@w3.org>
- Message-ID: <CAE35VmygB-y7TZgQ5cdC-4wdspDyScXG5onwf7_uH=XXo7MMaA@mail.gmail.com>
I don't see how your N3QL example would parse as any RDF syntax? Which one is it? Nobody is writing SPIN by hand, just like nobody is writing their own SPARQL parsers. There are a few well-established frameworks like Jena, RDF4J, Ruby RDF etc. that provide them, and everyone else is using them. There is SPIN API if you want to convert to/from SPIN syntax. So basically I see your points as non-issues. You might complain that your favorite syntax did not become a standard, but the fact is that we do have a standard RDF query language that does its job, and it's SPARQL. Compared to SQL for example, the SPARQL specification is really concise. I would say SPARQL is accepted in the industry now, and people have moved on to build layers above it. On Fri, Oct 13, 2017 at 11:07 AM, Sean B. Palmer <sean@miscoranda.com> wrote: > Compare these syntaxes: > > <> select { Result is (?a ?b) }; > where { ?a <http://somewhere/pred1> ?b. > ?b math:lessThan 5}. > > SELECT ?a ?b > WHERE { ?a <http://somewhere/pred1> ?b. > FILTER (?b < 5) } > > [ a sp:Select; > sp:resultVariables (_:a _:b); > sp:where ([ sp:subject _:a; > sp:predicate <http://somewhere/pred1>; > sp:object _:b ] > [ a sp:Filter; > sp:expression > [ sp:arg1 _:b; > sp:arg2 5; > a sp:lt ] ]) > ]. > > N3QL and SPIN are both homoiconic RDF representations, but N3QL is > almost as concise as SPARQL whereas SPIN is not. If you're only used > to SPIN, then no wonder you thought that this idea is "like expecting > SQL queries to be expressed as tables". The main difference is that > N3QL supports formulae, like named graphs, that eliminate the need for > reification. > > I say that SPARQL is not RDF based because, unlike the N3QL and SPIN > representations above, the SPARQL representation is not an RDF format. > You can't say how many triples are in the second example above, > whereas you can for the first and third. > > Not being RDF based means that you have to write a new parser for > SPARQL, whereas for SPIN and N3QL we can use existing ones. The > further advantage of N3QL is that we can use existing logic machines > such as CWM and Euler to do the querying too! In any case, all of this > functionality has now been duplicated (worse) as SPARQL, but at the > time it would have been a major saving and would have fit in better > with the contemporary Semantic Web toolset. > > https://www.w3.org/2000/10/swap/doc/cwm.html > http://eulersharp.sourceforge.net/ > https://www.w3.org/DesignIssues/N3Logic > > These references may help to introduce you to an important side of the > Semantic Web that has apparently been forgotten by some of its current > developers. > > -- > Sean B. Palmer, http://inamidst.com/sbp/ >
Received on Friday, 13 October 2017 09:27:17 UTC