2

I know very little about RDF, inference engines and so on but I am looking at an application that may be suited to using an inference engine instead of an algorithmic solution.

I would like to know if there are any existing examples I can look at that do something like what I am thinking of, which is to transform one graph into another.

Basically, we have as input a directed graph. The edges are relationships -- some transitive, some not. This graph represents the desired state of a system.

The output will be a directed graph which give settings and instructions for putting that system into the desired state. As a simple example, perhaps the output is the seating chart for a wedding reception, and the input is who is on good terms with whom, and who is someone's ex-wife, and so on, with rules about not seating someone at the same table with his ex-wife.

The graphs look to me like RDF triples. Is this the sort of thing that an inference engine can be used for?

Mark Lutton
  • 6,959
  • 7
  • 41
  • 57
  • I think the short answer is "yes". The long answer is that without more detail (Stack Overflow is for _specific_ programming questions), this is either unclear or too broad: "Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking." "There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs." – Joshua Taylor Oct 21 '13 at 22:10
  • If you can show an example of an input and an output, it probably wouldn't be too hard to show how the output could be derived from the input. – Joshua Taylor Oct 21 '13 at 22:10
  • Unfortunately I can't be specific about the application due to non-disclosure rules. I will have to see if I can transform it into an equivalent form that does not reveal information. But knowing that an inference engine can transform one RDF graph to another, as existing algorithms do, is helpful. – Mark Lutton Oct 22 '13 at 11:12
  • Also: the existing algorithms appear to take greater than polynomial time (based on the number of nodes in the graph) because they do too many comparisons. Is it possible that an inference engine could do better than this? (Analogy: fast good-enough solution of traveling salesman problem by using rules of thumb that partition the graph into regions etc.) – Mark Lutton Oct 22 '13 at 11:19
  • There are different reasoning algorithms out there. Some are syntactic, some are semantic. Some are based on Owl reasoning, while some are based on Rdf reasoning. Without seeing any data, it will be very difficult to say anything about how these different approaches will apply in your case. If you're simply looking to transform one graph into another, then something like Jena's rules may be particularly useful for you. – Joshua Taylor Oct 22 '13 at 11:24

0 Answers0