This content has been marked as final. Show 6 replies
If you don't run inference, then you can only query/find the assertions you made explicitly.
BTW, I have fixed the typo "Jean" (should be Jena")
Thanks for the answer and sorry for the typo mistake.
Ok so when we call graph.performInference(), it creates index on the models we have included. So the index is created on the modles containing complete triple(subject,predicate,object).
I have added a new thread related to index creation on only subject or object, is it possible? :
Index on Triple datatype in SPARQL
Thanks and Regards,
When you run performInference, Oracle will create an entailment partition (or rules index) using forward chaining inference. This partition will include new, implicit relationships (triples) that can be derived from your asserted knowledge base.
Note that this entailment (rules index) is not the same as the regular B-Tree index you are talking about.
Thanks for the answer. I was thinking that when performInference() is running, status status of rulebase index should be INCOMPLETE,
if there is any problem status of rulebase index should be INVALID, if it runs fine status of rulebase index value should be VALID.
So when we run our Jena code which is not having performInference() method call and status of rulebase index is either INCOMPLETE or INVALID, it gives an error saying ORA-20000: We do not have a rules index for this Model-Rulebase combination
Is there a way by which we can still run our sparql query using Jena when rulebase index status is Invalid or incomplete?
Edited by: MH on Sep 20, 2011 2:27 AM
You can set QueryOptions.ALLOW_QUERY_INVALID (or ALLOW_QUERY_INCOMPLETE) when constructing Attachment.
Attachment attachment = Attachment.createInstance(
GraphOracleSem graph = new GraphOracleSem(
oracle, modelName, attachment);