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

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

Received on Wednesday, 26 August 2015 09:32:33 UTC