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 Detail

      • DEFAULT_RULES

        public static final java.lang.String DEFAULT_RULES
        Constant: used to indicate default RDFS processing level
        See Also:
        Constant Field Values
      • FULL_RULES

        public static final java.lang.String FULL_RULES
        Constant: used to indicate full RDFS processing level
        See Also:
        Constant Field Values
      • SIMPLE_RULES

        public static final java.lang.String SIMPLE_RULES
        Constant: used to indicate minimal RDFS processing level
        See Also:
        Constant Field Values
    • Constructor Detail

      • 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 Detail

      • 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 java.util.List<Rule> loadRulesLevel​(java.lang.String level)
        Return the RDFS rule set, loading it in if necessary.
        Parameters:
        level - a string defining the processing level required