This content has been marked as final. Show 1 reply
What you experienced is expected.
Oracle's inference engine will only kick in if you invoke create_entailment API.
Say you have a graph stored in Oracle, did a create_entailment, the status of the inferred
graph (entailment) became VALID. Now, if you insert a triple, the status of the inferred
graph became INCOMPLETE. If you delete a triple, then the status became INVALID.
You can bring the entailment status back to VALID after another call to create_entailment.
Incremental inference is an optimization that can efficiently update your inferred graph (entailment)
when there are additions to your data. If there are updates (deletes), then incremental inference will
not help performance.
For your use case, if you want to make your query go through, you can set the INVALID flag.
select x from TABLE(SEM_MATCH('(?x rdf:type <Person>)',sem_models('emp_test_model'),
sem_rulebases('OWLPRIME'),null,null, 'INVALID')) order by 1;
Please refer to Section 1.6.1 of the following dev guide for details.
Hope it helps,