de.uulm.ecs.ai.owlapi.krssrenderer
Class KRSSObjectRenderer
java.lang.Object
de.uulm.ecs.ai.owlapi.krssrenderer.KRSSObjectRenderer
- All Implemented Interfaces:
- OWLAnnotationAxiomVisitor, OWLAnnotationObjectVisitor, OWLAnnotationValueVisitor, OWLAxiomVisitor, OWLClassExpressionVisitor, OWLDataRangeVisitor, OWLDataVisitor, OWLEntityVisitor, OWLIndividualVisitor, OWLObjectVisitor, OWLPropertyExpressionVisitor, SWRLObjectVisitor
- Direct Known Subclasses:
- KRSS2ObjectRenderer
public class KRSSObjectRenderer
- extends java.lang.Object
- implements OWLObjectVisitor
A KRSSObjectRenderer
renderes an OWLOntology in the original KRSS syntax.
Note that only a subset of OWL can be expressed in KRSS.
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 |
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 |
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.
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) |
multiple pairwise disjoint statements are added in case of more than 2 disjoint expressions |
OWLSubClassOf |
(define-primitive-concept C D) |
Multiple OWLSubClassOf axioms for C will be combined:
(define-primitive-concept C (and D1...Dn))
Only applicable if there is no OWLEquivalentClasses axiom.
KRSS does not allow both define-concept C and define-primitive-concept C.
GCIs not supported in KRSS (see KRSS2)
|
OWLEquivalentObjectPropertiesAxiom |
(define-role R S) |
Only applicable if the is no OWLSubObjectPropertyOf for R
and the number of the involved properties must be two |
OWLObjectPropertyDomainAxiom |
(domain P D) |
|
OWLObjectPropertyRangeAxiom |
(range P D) |
|
OWLSubObjectPropertyOf |
(define-primitive-role R S) |
Only applicable if the is no OWLEquivalentObjectPropertiesAxiom for R
and only one OWLSubObjectPropertyOf axiom for a given property is
allowed. If there are more one is randomly chosen. |
OWLTransitiveObjectPropertyAxiom |
(transitive P) |
OWLClassAssertionAxiom |
(instance i D) |
OWLDifferentIndividualsAxiom |
(distinct i1 i2) |
OWLDifferentIndividualsAxiom i1 i2 ... in will be splitted 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 will be splitted into:
{ (equal i(j) i(j+k)) | 1 <= j <=n, j<k<=n, j=|=k}
|
Author: Olaf Noppens
Ulm University
Institute of Artificial Intelligence
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ontology
protected final OWLOntology ontology
writer
protected final java.io.Writer writer
manager
protected final OWLOntologyManager manager
KRSSObjectRenderer
public KRSSObjectRenderer(OWLOntologyManager manager,
OWLOntology ontology,
java.io.Writer writer)
sort
protected <T extends OWLObject> java.util.List<T> sort(java.util.Collection<T> objects)
writeOpenBracket
protected final void writeOpenBracket()
writeCloseBracket
protected final void writeCloseBracket()
write
protected final void write(int i)
write
protected final void write(IRI iri)
writeSpace
protected final void writeSpace()
write
protected final void write(java.lang.String s)
getIndent
protected final int getIndent()
writeIndent
protected final void writeIndent(int indent)
writeln
protected final void writeln()
write
public final void write(OWLClassExpression obj)
write
public final void write(OWLIndividual ind)
write
public final void write(OWLPropertyExpression obj)
write
public final void write(OWLDataRange obj)
flattenProperties
protected void flattenProperties(java.util.Set<OWLObjectPropertyExpression> properties,
KRSSVocabulary junctor)
flatten
protected void flatten(java.util.Set<OWLClassExpression> description,
KRSSVocabulary junctor)
visit
public void visit(OWLOntology ontology)
- Specified by:
visit
in interface OWLObjectVisitor
visit
public void visit(OWLSubClassOfAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLNegativeObjectPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLAsymmetricObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLReflexiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDisjointClassesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDataPropertyDomainAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLImportsDeclaration axiom)
visit
public void visit(OWLObjectPropertyDomainAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLEquivalentObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLNegativeDataPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDifferentIndividualsAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDisjointDataPropertiesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDisjointObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLObjectPropertyRangeAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLObjectPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLFunctionalObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLSubObjectPropertyOfAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDisjointUnionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDeclarationAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLAnnotationAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAnnotationAxiomVisitor
visit
public void visit(OWLSymmetricObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDataPropertyRangeAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLFunctionalDataPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLEquivalentDataPropertiesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLClassAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLEquivalentClassesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDataPropertyAssertionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLTransitiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLIrreflexiveObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLSubDataPropertyOfAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLInverseFunctionalObjectPropertyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLSameIndividualAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLSubPropertyChainOfAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLInverseObjectPropertiesAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(SWRLRule rule)
- Specified by:
visit
in interface OWLAxiomVisitor
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLClassAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLDataRangeAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLObjectPropertyAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLDataPropertyAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLBuiltInAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLVariable node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLIndividualArgument node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLLiteralArgument node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLSameIndividualAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(SWRLDifferentIndividualsAtom node)
- Specified by:
visit
in interface SWRLObjectVisitor
visit
public void visit(OWLClass desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
- Specified by:
visit
in interface OWLEntityVisitor
visit
public void visit(OWLObjectIntersectionOf desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectUnionOf desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectComplementOf desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectSomeValuesFrom desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectAllValuesFrom desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectHasValue desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectMinCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectExactCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectMaxCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectHasSelf desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLObjectOneOf desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataSomeValuesFrom desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataAllValuesFrom desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataHasValue desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataMinCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataExactCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDataMaxCardinality desc)
- Specified by:
visit
in interface OWLClassExpressionVisitor
visit
public void visit(OWLDatatype node)
- Specified by:
visit
in interface OWLDataRangeVisitor
- Specified by:
visit
in interface OWLEntityVisitor
visit
public void visit(OWLDataComplementOf node)
- Specified by:
visit
in interface OWLDataRangeVisitor
visit
public void visit(OWLDataOneOf node)
- Specified by:
visit
in interface OWLDataRangeVisitor
visit
public void visit(OWLDatatypeRestriction node)
- Specified by:
visit
in interface OWLDataRangeVisitor
visit
public void visit(OWLLiteral node)
- Specified by:
visit
in interface OWLAnnotationValueVisitor
- Specified by:
visit
in interface OWLDataVisitor
visit
public void visit(OWLFacetRestriction node)
- Specified by:
visit
in interface OWLDataVisitor
visit
public void visit(OWLObjectProperty property)
- Specified by:
visit
in interface OWLEntityVisitor
- Specified by:
visit
in interface OWLPropertyExpressionVisitor
visit
public void visit(OWLObjectInverseOf property)
- Specified by:
visit
in interface OWLPropertyExpressionVisitor
visit
public void visit(OWLDataProperty property)
- Specified by:
visit
in interface OWLEntityVisitor
- Specified by:
visit
in interface OWLPropertyExpressionVisitor
visit
public void visit(OWLNamedIndividual individual)
- Specified by:
visit
in interface OWLEntityVisitor
- Specified by:
visit
in interface OWLIndividualVisitor
visit
public void visit(OWLHasKeyAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLDatatypeDefinitionAxiom axiom)
- Specified by:
visit
in interface OWLAxiomVisitor
visit
public void visit(OWLSubAnnotationPropertyOfAxiom axiom)
- Specified by:
visit
in interface OWLAnnotationAxiomVisitor
visit
public void visit(OWLAnnotationPropertyDomainAxiom axiom)
- Specified by:
visit
in interface OWLAnnotationAxiomVisitor
visit
public void visit(OWLAnnotationPropertyRangeAxiom axiom)
- Specified by:
visit
in interface OWLAnnotationAxiomVisitor
visit
public void visit(OWLDataIntersectionOf node)
- Specified by:
visit
in interface OWLDataRangeVisitor
visit
public void visit(OWLDataUnionOf node)
- Specified by:
visit
in interface OWLDataRangeVisitor
visit
public void visit(OWLAnnotationProperty property)
- Specified by:
visit
in interface OWLEntityVisitor
visit
public void visit(OWLAnonymousIndividual individual)
- Specified by:
visit
in interface OWLAnnotationValueVisitor
- Specified by:
visit
in interface OWLIndividualVisitor
visit
public void visit(IRI iri)
- Specified by:
visit
in interface OWLAnnotationValueVisitor
visit
public void visit(OWLAnnotation node)
- Specified by:
visit
in interface OWLAnnotationObjectVisitor