On 01/10/12 17:03, Mark Fischer wrote:
Can anybody point me toward any documentation for the various Jena
reasoners?

There is no documentation beyond the reference manual you have already seen, the javadoc, the code and this list :)

I'm using the Owl Ontology Model Spec OWL_MEM_RULE_INF. When I validate()
and get a report, the type string and extension object are both reasoner
dependant.

I'd like to know what the list of possible 'types' are.

The validation for the various OWL flavours are defined in the corresponding rule sets included in the distribution. In your case see /etc/owl-fb.rules or just go to:

http://svn.apache.org/repos/asf/jena/trunk/jena-core/etc/owl-fb.rules

If you look at the bottom of that file there are a set of validation rules. Each creates a triple of the form:

  ?culprit rb:violation F .

Where F is a functor, either "warn" or "error". The arguments to those functors are:
    - the culprit
    - an error message
    - the implicated nodes

The validation code in FBRuleInfGraph extracts the implicated nodes to formulate the report string.

If you need to access to these programatically you would need to trigger validation yourself outside of the FBRuleInfGraph framework. This should be possible. You'll need to:

(1) setFunctorFiltering to false.

(2) Create a trigger triple to switch on the validation rules:

 Triple validateOn = new Triple(Node.createAnon(),
                      ReasonerVocabulary.RB_VALIDATION.asNode(),
                      Functor.makeFunctorNode("on", new Node[] {}));

 Add it to the graph and call prepare().

(3) List all triples of the form:
      * ReasonerVocabulary.RB_VALIDATION_REPORT *

The value of each result will be a Functor (normally hidden from view but the setFunctorFIltering will have disabled that hiding) from which you can then extract the raw arguments.

Dave

Reply via email to