Pergunta

I have a huge semantic network, which has its specific Java API for querying the data (data stored in several Lucene indices).

I want something more interactive (than Java programming) for querying it, like a Datalog interface (or something else you can propose!), so that I can expose some relations, and then use conjunctive queries to extract the data I need, and everything is simple enough to write in a dummy interactive shell.

What are the possibilities out there to achieve this without reinventing big parts of the wheel? (i.e. without writing a datalog answering system by myself)

Is it better to integrate a Datalog frontend to extract the data (assuming such possibility exists)? Or it is better to export the data in RDF, and use some available query/reasoning tool? Which one?

Foi útil?

Solução

I know that you said you do not necessarily want to do a lot of Java programming, but Jena's general purpose rule engine includes a backward chaining rule reasoner which is a datalog engine. The rule language is fairly simple, and you can extend it using Java if you want. If you write a set of rules, you can provide them to a reasoner, bind the reasoner with an RDF model to produce an inference model, and you could then query that inference model using the Java API, or expose the inference model using a SPARQL endpoint (e.g., with Jena's Fuseki).

If the rules will not be static and fixed ahead of time, you might be able to extend the webabb interface to Fuskei to provide a “rule editing” section wherein you could provide rulesets and run them on the dataset.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top