How do i know if result is by inferencing

i want to highlight result on screen, any possible to do it?

The only reliable way is to look up the triple in the data. If it's not there, it's been inferred. Note that it's possible that the same result both exists in the data and logically follows from the data and the schema. This of course gets tricky for SELECT queries since it's not trivial, in general, to figure out what specifically to look up in the data given a tuple in the results.

There could be incomplete/heuristic ways too. Like if you see a triple with a predicate which only occurs in your schema (rules) and never in the data, you can conclude it's inferred immediately.


what if the result include a meta field that indicate its an inference, but it looks its not a standard.

Correct, there's nothing like that. For CONSTRUCT queries there's a theoretical possibility to use an RDF* property. But this stuff tends to get quite difficult in general due to same triples possibly being both asserted and inferred (which is the main reason it's not standardised or provided out-of-the-box). It's much easier to do in specific cases when asserted and inferred vocabularies are disjoint.


1 Like

Many of my users are often wary of inferencing as they want not only to know that something is inferred but what chain of reasoning got to a particular triple. Stardog can do this for classes but not for inferred predicates (for instance). It would give them much more confidence in the technology in general if that could be provided.

For knowledge bases in the Humanities, which mine is, to drive use, being able to follow chains of reasoning would be very beneficial for instilling confidence in the technology.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.