Class RDFSRuleReasoner

All Implemented Interfaces:
Reasoner, RuleReasoner

public class RDFSRuleReasoner extends GenericRuleReasoner
A full implementation of RDFS reasoning using a hybrid rule system, together with optimized subclass/subproperty closure using the transitive graph caches. Implements the container membership property rules using an optional data scanning hook. Implements datatype range validation.
  • Field Details

    • DEFAULT_RULES

      public static final String DEFAULT_RULES
      Constant: used to indicate default RDFS processing level
      See Also:
    • FULL_RULES

      public static final String FULL_RULES
      Constant: used to indicate full RDFS processing level
      See Also:
    • SIMPLE_RULES

      public static final String SIMPLE_RULES
      Constant: used to indicate minimal RDFS processing level
      See Also:
  • Constructor Details

    • RDFSRuleReasoner

      public RDFSRuleReasoner(ReasonerFactory parent)
      Constructor
    • RDFSRuleReasoner

      public RDFSRuleReasoner(ReasonerFactory factory, Resource configuration)
      Constructor
      Parameters:
      factory - the parent reasoner factory which is consulted to answer capability questions
      configuration - RDF information to configure the rule set and mode, can be null
  • Method Details

    • bind

      public InfGraph bind(Graph data) throws ReasonerException
      Attach the reasoner to a set of RDF data to process. The reasoner may already have been bound to specific rules or ontology axioms (encoded in RDF) through earlier bindRuleset calls.
      Specified by:
      bind in interface Reasoner
      Overrides:
      bind in class GenericRuleReasoner
      Parameters:
      data - the RDF data to be processed, some reasoners may restrict the range of RDF which is legal here (e.g. syntactic restrictions in OWL).
      Returns:
      an inference graph through which the data+reasoner can be queried.
      Throws:
      ReasonerException - if the data is ill-formed according to the constraints imposed by this reasoner.
    • bindSchema

      public Reasoner bindSchema(Graph tbox) throws ReasonerException
      Precompute the implications of a schema graph. The statements in the graph will be combined with the data when the final InfGraph is created.
      Specified by:
      bindSchema in interface Reasoner
      Overrides:
      bindSchema in class GenericRuleReasoner
      Parameters:
      tbox - the ontology axioms or rule set encoded in RDF
      Returns:
      a reasoner instace which can be used to process a data graph
      Throws:
      ReasonerException - if the reasoner cannot be bound to a rule set in this way, for example if the underlying engine can only accept a single rule set in this way and one rule set has already been bound in of if the ruleset is illformed.
    • loadRulesLevel

      public static List<Rule> loadRulesLevel(String level)
      Return the RDFS rule set, loading it in if necessary.
      Parameters:
      level - a string defining the processing level required
    • getGraphCapabilities

      public Capabilities getGraphCapabilities()
      Return the Jena Graph Capabilities that the inference graphs generated by this reasoner are expected to conform to.
      Specified by:
      getGraphCapabilities in interface Reasoner
      Overrides:
      getGraphCapabilities in class FBRuleReasoner