com.hp.hpl.jena.reasoner.rulesys
Class RDFSRuleReasoner

java.lang.Object
  extended by com.hp.hpl.jena.reasoner.rulesys.FBRuleReasoner
      extended by com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner
          extended by com.hp.hpl.jena.reasoner.rulesys.RDFSRuleReasoner
All Implemented Interfaces:
Reasoner, RuleReasoner

public class RDFSRuleReasoner
extends GenericRuleReasoner

A full implemention 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.

Version:
$Revision: 1.1 $ on $Date: 2009/06/29 08:55:38 $
Author:
Dave Reynolds

Nested Class Summary
 
Nested classes/interfaces inherited from class com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner
GenericRuleReasoner.RuleMode
 
Field Summary
static java.lang.String DEFAULT_RULES
          Constant: used to indicate default RDFS processing level
static java.lang.String FULL_RULES
          Constant: used to indicate full RDFS processing level
static java.lang.String SIMPLE_RULES
          Constant: used to indicate minimal RDFS processing level
 
Fields inherited from class com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner
BACKWARD, filterFunctors, FORWARD, FORWARD_RETE, HYBRID
 
Constructor Summary
RDFSRuleReasoner(ReasonerFactory parent)
          Constructor
RDFSRuleReasoner(ReasonerFactory factory, Resource configuration)
          Constructor
 
Method Summary
 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 Capabilties 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 com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner
addPreprocessingHook, removePreprocessingHook, setFunctorFiltering, setMode, setOWLTranslation, setRules, setTransitiveClosureCaching
 
Methods inherited from class com.hp.hpl.jena.reasoner.rulesys.FBRuleReasoner
addDescription, addRules, bindSchema, getBoundSchema, getReasonerCapabilities, getRules, isTraceOn, loadRules, setDerivationLogging, setParameter, setTraceOn, supportsProperty, tablePredicate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

getGraphCapabilities

public Capabilities getGraphCapabilities()
Return the Jena Graph Capabilties that the inference graphs generated by this reasoner are expected to conform to.

Specified by:
getGraphCapabilities in interface Reasoner
Overrides:
getGraphCapabilities in class FBRuleReasoner


Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP