Package org.semanticweb.owlapi.model
Interface SWRLRule
- All Superinterfaces:
Comparable<OWLObject>
,HasAnnotationPropertiesInSignature
,HasAnnotations
,HasAnonymousIndividuals
,HasClassesInSignature
,HasComponents
,HasContainsEntityInSignature
,HasDataPropertiesInSignature
,HasDatatypesInSignature
,HasHashIndex
,HasIndex
,HasIndividualsInSignature
,HasObjectPropertiesInSignature
,HasSignature
,IsAnonymous
,OWLAxiom
,OWLLogicalAxiom
,OWLObject
,Serializable
,SWRLObject
- All Known Implementing Classes:
SWRLRuleImpl
Represent a rule. A rule consists of a head and a body. Both the head and the body consist of a
conjunction of atoms.
- Since:
- 2.0.0
- Author:
- Matthew Horridge, The University Of Manchester, Medical Informatics Group
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
accept
(OWLAxiomVisitor visitor) default <O> O
accept
(OWLAxiomVisitorEx<O> visitor) default void
accept
(OWLObjectVisitor visitor) Accepts a visitordefault <O> O
accept
(OWLObjectVisitorEx<O> visitor) Accepts a visitordefault void
accept
(SWRLObjectVisitor visitor) default <O> O
accept
(SWRLObjectVisitorEx<O> visitor) body()
bodyList()
Gets the predicates of class atoms.default Stream<?>
default Stream<?>
default Stream<?>
boolean
Determines if this rule uses anonymous class expressions in class atoms.default AxiomType<?>
Gets the axiom type for this axiom.Gets an axiom that is structurally equivalent to this axiom without annotations.getBody()
Gets the atoms in the body of the rule.default Set<OWLClassExpression>
Gets the predicates of class atoms.getHead()
Gets the atoms in the head of the rule.If this rule contains atoms that have predicates that are inverse object properties, then this method creates and returns a rule where the arguments of these atoms are flipped over and the predicate is the inverse (simplified) property.default Set<SWRLVariable>
Gets the variables that appear in this rule.default int
head()
headList()
default int
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.semanticweb.owlapi.model.HasAnnotationPropertiesInSignature
annotationPropertiesInSignature, getAnnotationPropertiesInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasAnnotations
annotations, annotations, annotations, annotationsAsList, getAnnotations, getAnnotations
Methods inherited from interface org.semanticweb.owlapi.model.HasAnonymousIndividuals
anonymousIndividuals, getAnonymousIndividuals
Methods inherited from interface org.semanticweb.owlapi.model.HasClassesInSignature
classesInSignature, getClassesInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasContainsEntityInSignature
containsEntityInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasDataPropertiesInSignature
dataPropertiesInSignature, getDataPropertiesInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasDatatypesInSignature
datatypesInSignature, getDatatypesInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasIndividualsInSignature
getIndividualsInSignature, individualsInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasObjectPropertiesInSignature
getObjectPropertiesInSignature, objectPropertiesInSignature
Methods inherited from interface org.semanticweb.owlapi.model.HasSignature
getSignature, signature, unsortedSignature
Methods inherited from interface org.semanticweb.owlapi.model.IsAnonymous
isAnonymous, isNamed
Methods inherited from interface org.semanticweb.owlapi.model.OWLAxiom
equalsIgnoreAnnotations, getAnnotatedAxiom, getAnnotatedAxiom, getAnnotatedAxiom, getAxiomWithoutAnnotations, getNNF, isAnnotated, isAnnotationAxiom, isAxiom, isIndividual, isOfType, isOfType, isOfType, typeIndex
Methods inherited from interface org.semanticweb.owlapi.model.OWLLogicalAxiom
isLogicalAxiom
Methods inherited from interface org.semanticweb.owlapi.model.OWLObject
getNestedClassExpressions, hasSharedStructure, isAnonymousExpression, isBottomEntity, isIRI, isOntology, isTopEntity, nestedClassExpressions
-
Method Details
-
components
- Specified by:
components
in interfaceHasComponents
- Returns:
- components as a stream. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().
-
initHashCode
default int initHashCode()- Specified by:
initHashCode
in interfaceOWLObject
- Returns:
- hash code for the object; called on first use, cached by OWLObjectImpl in the default implementation.
-
componentsWithoutAnnotations
- Specified by:
componentsWithoutAnnotations
in interfaceHasComponents
- Returns:
- components as a stream; for objects that can have annotations on them, these are skipped. This is useful for comparing axioms without taking annotations into account. Note: annotations on nested objects are not affected. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().
-
componentsAnnotationsFirst
- Specified by:
componentsAnnotationsFirst
in interfaceHasComponents
- Returns:
- components as a stream; for objects that can have annotations on them, annotation streams appear first. This is useful in renderers. The stream is ordered (by visit order) but not sorted. Implementations that override components() must ensure the order is compatible with equals() and hashCode().
-
hashIndex
default int hashIndex()- Specified by:
hashIndex
in interfaceHasHashIndex
- Returns:
- index for this type. This is not a hashcode for instances, rather a hashcode for the types.
-
getBody
Gets the atoms in the body of the rule.- Returns:
- A set of
SWRLAtom
s, which represent the atoms in the body of the rule. The set that is returned is a copy; modifications to the returned set will not be reflected in this object.
-
bodyList
- Returns:
- body as list
-
headList
- Returns:
- head as list
-
body
- Returns:
- stream of the atoms in the body of the rule.
-
getHead
Gets the atoms in the head of the rule.- Returns:
- A set of
SWRLAtom
s, which represent the atoms in the head of the rule. The set that is returned is a copy; modifications to the returned set will not be reflected in this object.
-
head
- Returns:
- stream of the atoms in the head of the rule
-
getSimplified
SWRLRule getSimplified()If this rule contains atoms that have predicates that are inverse object properties, then this method creates and returns a rule where the arguments of these atoms are flipped over and the predicate is the inverse (simplified) property.- Returns:
- The rule such that any atoms of the form inverseOf(p)(x, y) are transformed to p(x, y).
-
getVariables
Gets the variables that appear in this rule.- Returns:
- A set of variables that appear in this rule. The set that is returned is a copy; modifications to the returned set will not be reflected in this object.
-
variables
Stream<SWRLVariable> variables()- Returns:
- stream of variables that appear in this rule.
-
containsAnonymousClassExpressions
boolean containsAnonymousClassExpressions()Determines if this rule uses anonymous class expressions in class atoms.- Returns:
true
if this rule contains anonymous class expression in class atoms, otherwisefalse
.
-
getClassAtomPredicates
Gets the predicates of class atoms.- Returns:
- A set of class expressions that represent the class class expressions that are predicates of class atoms. The set that is returned is a copy; modifications to the returned set will not be reflected in this object.
-
classAtomPredicates
Stream<OWLClassExpression> classAtomPredicates()Gets the predicates of class atoms.- Returns:
- stream of class expressions that represent the class class expressions that are predicates of class atoms.
-
getAxiomWithoutAnnotations
SWRLRule getAxiomWithoutAnnotations()Description copied from interface:OWLAxiom
Gets an axiom that is structurally equivalent to this axiom without annotations. This essentially returns a version of this axiom stripped of any annotations.- Specified by:
getAxiomWithoutAnnotations
in interfaceOWLAxiom
- Returns:
- The axiom without annotations
-
accept
Description copied from interface:OWLObject
Accepts a visitor -
accept
Description copied from interface:OWLObject
Accepts a visitor -
accept
- Specified by:
accept
in interfaceSWRLObject
- Parameters:
visitor
- visitor to accept
-
accept
- Specified by:
accept
in interfaceSWRLObject
- Type Parameters:
O
- visitor return type- Parameters:
visitor
- visitor to accept- Returns:
- visitor value
-
accept
-
accept
-
getAxiomType
Description copied from interface:OWLAxiom
Gets the axiom type for this axiom.- Specified by:
getAxiomType
in interfaceOWLAxiom
- Returns:
- The axiom type that corresponds to the type of this axiom.
-