Class KRSS2ObjectRenderer

java.lang.Object
org.semanticweb.owlapi.krss2.renderer.KRSSObjectRenderer
org.semanticweb.owlapi.krss2.renderer.KRSS2ObjectRenderer
All Implemented Interfaces:
OWLAnnotationAxiomVisitor, OWLAnnotationObjectVisitor, OWLAnnotationValueVisitor, OWLAnonymousIndividualVisitorBase, OWLAxiomVisitor, OWLClassExpressionVisitor, OWLClassVisitorBase, OWLDataEntityVisitorBase, OWLDataRangeVisitor, OWLDataVisitor, OWLEntityVisitor, OWLIndividualEntityVisitorBase, OWLIndividualVisitor, OWLLiteralVisitorBase, OWLLogicalAxiomVisitor, OWLNamedObjectVisitor, OWLObjectVisitor, OWLPropertyEntityVisitorBase, OWLPropertyExpressionVisitor, OWLVisitorBase, SWRLObjectVisitor, SWRLRuleVisitorBase

public class KRSS2ObjectRenderer extends KRSSObjectRenderer
KRSS2ObjectRenderer is an extension of KRSSObjectRenderer which uses the extended vocabulary.
Abbreviations
Abbreviations
CN concept name
C,D,E concept expression
RN role name
R, R1, R2,... role expressions, i.e. role name or inverse role

KRSS concept language
KRSS concept language
KRSS OWLClassExpression
(at-least n R C) (OWLObjectMinCardinality R n C)
(at-most n R C) (OWLObjectMaxCardinality R n C)
(exactly n R C) (OWLObjectExactCardinality R n C)
(some R C) (OWLObjectSomeValuesFrom R C)
(all R C) (OWLObjectAllValuesFrom R C)
(not C) (OWLObjectComplementOf C)
(and C D E) (OWLObjectIntersectionOf C D E)
(or C D E) (OWLObjectUnionOf C D E)

KRSS role language
KRSS role language
KRSS OWLObjectPropertyExpression
(inv R) (OWLInverseObjectPropertiesAxiom R)

Each referenced class, object property as well as individual is defined using define-concept resp. define-primitive-concept, define-role and define-individual. In addition, axioms are translated as follows.
Remarks
KRSS2 OWLAxiom KRSS syntax Remarks
OWLEquivalentClasses (define-concept C D) OWLEquivalentClasses C D1 D2...Dn will be translated to:
(define-concept C (and D1 D2...Dn))
Only applicable if there is no OWLSubClassOf axiom.
OWLDisjointClassesAxiom (disjoint C D) OWLDisjointClasses C D1 D2 ... Dn { (disjoint i(j) i(j+k)) | 1 <= j <=n, j<k<=n, j=|=k}
OWLSubClassOfAxiom (define-primitive-concept C D) OWLSubClassOfAxiom C D1...Dn (n > 1) will be translated to:
(define-primitive-concept C (and D1...Dn))
Only applicable if there is no OWLEquivalentClasses axiom. In that case the class will be introduced via (define-concept...) and all subclass axioms are handled via implies
OWLSubClassOfAxiom (implies D C) Only in case of GCIs with concept expression (not named class) D, or in case that D is a non-primitive concept. Otherwise superclasses are introduced via (define-primitive-concept D ...)
OWLEquivalentObjectPropertiesAxiom (roles-equivalent r s) All roles are explicitly introduced via define-primitive-role.
OWLSubPropertyChainOfAxiom (role-inclusion (compose r s) t) Role inclusions of the kind (role-inclusion (compose r s) r) resp. (role-inclusion (compose s r) r) are handled within the (define-primitive-role) statement as right- resp. left-identities iff it is the only role-inclusion wrt. the super property.
OWLSubObjectPropertyAxiom (define-primitive-role R :parent S)
(define-primitive-role R :parents S T U)
Additional attributes:
  • :transitive t
  • :symmetric t
  • :reflexive t
  • :inverse I
  • :domain C resp. :domain (and C C1...Cn)
  • :range D resp. :range (and D D1..Dn)
This will be only used if there is no OWLEquivalentClasses axiom containing R (see define-role). The additional attributes are added if there is an OWLTransitiveObjectProperyAxiom, OWLSymmetricObjectPropertyAxiom, OWLReflexiveObjectPropertyAxiom, OWLObjectPropertyDomainAxiom, OWLObjectPropertyRangeAxiom resp. OWLInverseObjectPropertiesAxiom. If there are multiple OWLInverseObjectPropertiesAxioms only one inverse is handled here, all others are handled via (inverse) statements. Domains/ranges of multiple domain/range axioms are handled as (and C C1...Cn).
OWLSubObjectPropertyAxiom (implies-role r s) Only applicable if r is an inverse property, otherwise superproperties are handled within the define-primitive-role statement.
OWLInverseObjectPropertiesAxiom (inverse r s) Only inverse properties which are not introduced via define-primitive-role.
OWLObjectPropertyRangeAxiom see define-primitive-role
OWLObjectPropertyDomainAxiom see define-primitive-role
OWLSymmetricObjectPropertyAxiom see define-primitive-role
OWLTransitiveObjectPropertyAxiom see define-primitive-role
OWLReflexiveObjectPropertyAxiom see define-primitive-role
OWLClassAssertionAxiom (instance i D)
OWLDifferentIndividualsAxiom (distinct i1 i2) OWLDifferentIndividualsAxiom i1 i2 ... in will be split into:
{ (distinct i(j) i(j+k)) | 1 <= j <=n, j<k<=n, j=|=k}
OWLObjectPropertyAssertionAxiom (related i1 P i2) i1: subject, i2: object
OWLSameIndividualsAxiom (equal i1 i2) OWLSameIndividual i1 i2 ...i(n-1) in in will be split into:
{ (equal i(j) i(j+k)) | 1 <= j <=n, j<k<=n, j=|=k}
(equal i1 i2)
(equal i1 i3)
...
(equal i(n-1) in)
Author:
Olaf Noppens, Ulm University, Institute of Artificial Intelligence