Package org.apache.jena.reasoner.rulesys
Class RDFSRuleReasoner
- java.lang.Object
-
- org.apache.jena.reasoner.rulesys.FBRuleReasoner
-
- org.apache.jena.reasoner.rulesys.GenericRuleReasoner
-
- org.apache.jena.reasoner.rulesys.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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.jena.reasoner.rulesys.GenericRuleReasoner
GenericRuleReasoner.RuleMode
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_RULES
Constant: used to indicate default RDFS processing levelstatic java.lang.String
FULL_RULES
Constant: used to indicate full RDFS processing levelstatic java.lang.String
SIMPLE_RULES
Constant: used to indicate minimal RDFS processing level-
Fields inherited from class org.apache.jena.reasoner.rulesys.GenericRuleReasoner
BACKWARD, filterFunctors, FORWARD, FORWARD_RETE, HYBRID
-
-
Constructor Summary
Constructors Constructor Description RDFSRuleReasoner(ReasonerFactory parent)
ConstructorRDFSRuleReasoner(ReasonerFactory factory, Resource configuration)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InfGraph
bind(Graph data)
Attach the reasoner to a set of RDF data to process.Reasoner
bindSchema(Graph tbox)
Precompute the implications of a schema graph.Capabilities
getGraphCapabilities()
Return the Jena Graph Capabilities that the inference graphs generated by this reasoner are expected to conform to.static java.util.List<Rule>
loadRulesLevel(java.lang.String level)
Return the RDFS rule set, loading it in if necessary.-
Methods inherited from class org.apache.jena.reasoner.rulesys.GenericRuleReasoner
addPreprocessingHook, removePreprocessingHook, setFunctorFiltering, setMode, setOWLTranslation, setRules, setTransitiveClosureCaching
-
Methods inherited from class org.apache.jena.reasoner.rulesys.FBRuleReasoner
addDescription, addRules, bindSchema, getBoundSchema, getReasonerCapabilities, getRules, isTraceOn, loadRules, setDerivationLogging, setParameter, setTraceOn, supportsProperty, tablePredicate
-
-
-
-
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 questionsconfiguration
- 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 interfaceReasoner
- Overrides:
bind
in classGenericRuleReasoner
- 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 interfaceReasoner
- Overrides:
bindSchema
in classGenericRuleReasoner
- 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
-
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 interfaceReasoner
- Overrides:
getGraphCapabilities
in classFBRuleReasoner
-
-