- From: Sean B. Palmer <sean@miscoranda.com>
- Date: Fri, 13 Oct 2017 10:07:29 +0100
- To: Martynas Jusevičius <martynas@atomgraph.com>
- Cc: SW-forum Web <semantic-web@w3.org>, public-lod <public-lod@w3.org>, www-archive <www-archive@w3.org>
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:08:12 UTC