W3C home > Mailing lists > Public > public-linked-json@w3.org > August 2015

Re: best practices in "reasoning" or "querying" with JSON-LD

From: Jerven Tjalling Bolleman <Jerven.Bolleman@isb-sib.ch>
Date: Wed, 26 Aug 2015 12:23:14 +0200
To: public-linked-json@w3.org
Message-ID: <cf41c93635bf0ccf2c8631badbd2975d@bell.isb-sib.ch>
Hi Herman,

Maybe a bit silly remark, but why are you not looking at SPARQL?

SPARQL will understand the context part of the JSON-LD as its triple 
format. It can generate JSON-LD output for construct or JSON tables 
output for select.

Some SPARQL engines have support for geo queries, many have reasoning 
support. Either add hoc via rules or in the RDFS/OWL-RL|DL sense.

SPARQL also has the capability to do cross database querying, on the fly 
using SERVICE or by having federated systems.

Unlike, Cypher or ReQL it is a standard with multiple implementations.

It is easy to test and play with.
e.g on the command line.

cd /tmp
tar xzvf apache-jena-3.0.0.tar.gz

cd apache-jena-3.0.0/bin/
./sparql --help

sparql --data URL_OF_SOME_DATA --query URL_OF_A_CONSTRUCT_QUERY | riot 
--syntax "turtle" --formatted "jsonld"


On 2015-08-26 07:30, Herman Bruyninckx wrote:
> I am part of a group who is experimenting with using JSON-LD as the 
> formal
> language to represent the domain knowledge of robotics; starting with 
> the
> mathematical models of robots, to modelling their control and 
> perception
> capabiities, as well as the requirements in the tasks the robots are
> expected to execute. All of these sub-domains get their own JSON-LD 
> models,
> with some structures linking between them.
> We are now confronted with how we should best "query" such linked data 
> models,
> to represent "reasoning" questions, such as:
> "Which robots can perform this task?"
> "How should the robot move to see that object in the scene?"
> "Where was this robot yesterday at noon?"
> "Which robot has performed a similar task already?"
> Etc.
> Inside one model, querying reduces to graph search, for which we find 
> quite
> some "best practices" out there, such as GraphQL from Facebook, ReQL 
> from
> RethinkDB, or Cypher from Neo4J. But our main problem is how to follow 
> the
> "@context" links in JSON-LD during queries that have to cross the 
> boundary
> between models. We imagine that some sort of context-dependent
> "if-then-elses" must be integrated into the query answering, but we 
> have
> not yet found any examples of such queries.
> We would be grateful to receive pointers to already existing similar
> solutions, feedback on the above-mentioned query languages, or just
> insights about how we should realise the reasoning we're after.
> Thanks!
> Best regards,
> Herman Bruyninckx
> KU Leuven --- TU Eindhoven

Jerven Tjalling Bolleman
SIB | Swiss Institute of Bioinformatics
CMU - 1, rue Michel Servet - 1211 Geneva 4
t: +41 22 379 58 85 - f: +41 22 379 58 58
Jerven.Bolleman@isb-sib.ch - http://www.isb-sib.ch
Received on Wednesday, 26 August 2015 10:23:42 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:18:45 UTC