@Override public void visit(OWLOntology ontology) { Optional<IRI> ontologyIRI = ontology.getOntologyID().getOntologyIRI(); if (ontologyIRI.isPresent()) { putHasIRI(ontology, x -> x.getOntologyID().getOntologyIRI().get()); } else { translateAnonymousNode(ontology); } addTriple(ontology, RDF_TYPE.getIRI(), OWL_ONTOLOGY.getIRI()); addVersionIRIToOntologyHeader(ontology); addImportsDeclarationsToOntologyHeader(ontology); addAnnotationsToOntologyHeader(ontology); }
@Override public void visit(OWLDifferentIndividualsAxiom axiom) { translateAnonymousNode(axiom); addTriple(axiom, RDF_TYPE.getIRI(), OWL_ALL_DIFFERENT.getIRI()); addListTriples(axiom, OWL_DISTINCT_MEMBERS.getIRI(), axiom.individuals()); processIfAnonymous(axiom.individuals(), axiom); }
private void addSingleTripleAxiom(OWLAxiom ax, OWLObject subj, IRI pred, Stream<? extends OWLObject> obj) { addSingleTripleAxiomRPN(ax, getNode(subj), getPredicateNode(pred), translateList(asList(obj))); }
private void addSingleTripleAxiom(OWLAxiom ax, OWLObject subject, IRI pred, IRI obj) { addSingleTripleAxiomRPN(ax, getNode(subject), getPredicateNode(pred), getResourceNode(obj)); }
private void addSingleTripleAxiom(OWLAxiom ax, OWLObject subj, OWLObject pred, OWLObject obj) { addSingleTripleAxiomRPN(ax, getNode(subj), getNode(pred), getNode(obj)); }
private void addSingleTripleAxiom(OWLAxiom ax, OWLObject subject, IRI pred, OWLObject obj) { addSingleTripleAxiomRPN(ax, getNode(subject), getPredicateNode(pred), getNode(obj)); }
@Override public void visit(OWLDisjointObjectPropertiesAxiom axiom) { if (axiom.properties().count() == 2) { addPairwise(axiom, axiom.properties(), OWL_PROPERTY_DISJOINT_WITH.getIRI()); } else { translateAnonymousNode(axiom); translateAnnotations(axiom); addTriple(axiom, RDF_TYPE.getIRI(), OWL_ALL_DISJOINT_PROPERTIES.getIRI()); addListTriples(axiom, OWL_MEMBERS.getIRI(), axiom.properties()); } }
@Override public void visit(OWLObjectUnionOf ce) { translateAnonymousNode(ce); addTriple(ce, RDF_TYPE.getIRI(), OWL_CLASS.getIRI()); addListTriples(ce, OWL_UNION_OF.getIRI(), ce.operands()); }
@Override public void visit(OWLDataSomeValuesFrom ce) { addRestrictionCommonTriplePropertyRange(ce, ce.getProperty()); addTriple(ce, OWL_SOME_VALUES_FROM.getIRI(), ce.getFiller()); }
@Override public void visit(OWLObjectHasValue ce) { addRestrictionCommonTriplePropertyExpression(ce, ce.getProperty()); addTriple(ce, OWL_HAS_VALUE.getIRI(), ce.getFiller()); processIfAnonymous(ce.getFiller(), null); }
private void addDataCardinalityRestrictionTriples(OWLCardinalityRestriction<OWLDataRange> ce, OWLPropertyExpression p, OWLRDFVocabulary cardiPredicate) { addRestrictionCommonTriplePropertyRange(ce, p); addTriple(ce, cardiPredicate.getIRI(), toTypedConstant(ce.getCardinality())); if (ce.isQualified()) { if (ce.isObjectRestriction()) { addTriple(ce, OWL_ON_CLASS.getIRI(), ce.getFiller()); } else { addTriple(ce, OWL_ON_DATA_RANGE.getIRI(), ce.getFiller()); } } }
@Override public void visit(OWLDataHasValue ce) { addRestrictionCommonTriplePropertyExpression(ce, ce.getProperty()); addTriple(ce, OWL_HAS_VALUE.getIRI(), ce.getFiller()); }
@Override public void visit(OWLObjectPropertyAssertionAxiom axiom) { OWLObjectPropertyAssertionAxiom simplified = axiom.getSimplified(); addSingleTripleAxiom(simplified, simplified.getSubject(), simplified.getProperty(), simplified.getObject()); processIfAnonymous(simplified.getObject(), axiom); processIfAnonymous(simplified.getSubject(), axiom); }
@Override public void visit(OWLObjectExactCardinality ce) { if (ce.isQualified()) { addObjectCardinalityRestrictionTriples(ce, ce.getProperty(), OWL_QUALIFIED_CARDINALITY); } else { addObjectCardinalityRestrictionTriples(ce, ce.getProperty(), OWL_CARDINALITY); } }
@Override public void visit(OWLDataMinCardinality ce) { if (ce.isQualified()) { addDataCardinalityRestrictionTriples(ce, ce.getProperty(), OWL_MIN_QUALIFIED_CARDINALITY); } else { addDataCardinalityRestrictionTriples(ce, ce.getProperty(), OWL_MIN_CARDINALITY); } }
@Override public void visit(OWLSubObjectPropertyOfAxiom axiom) { addSingleTripleAxiom(axiom, axiom.getSubProperty(), RDFS_SUB_PROPERTY_OF.getIRI(), axiom.getSuperProperty()); }
@Override public void visit(OWLSameIndividualAxiom axiom) { addPairwise(axiom, axiom.individuals(), OWL_SAME_AS.getIRI()); processIfAnonymous(axiom.individuals(), axiom); }
@Override public void visit(OWLEquivalentObjectPropertiesAxiom axiom) { if (axiom.properties().count() == 2) { addPairwise(axiom, axiom.properties(), OWL_EQUIVALENT_PROPERTY.getIRI()); } else { axiom.splitToAnnotatedPairs().stream().sorted().forEach(ax -> ax.accept(this)); } }
@Override public void visit(OWLDisjointDataPropertiesAxiom axiom) { if (axiom.properties().count() == 2) { addPairwise(axiom, axiom.properties(), OWL_PROPERTY_DISJOINT_WITH.getIRI()); } else { translateAnonymousNode(axiom); translateAnnotations(axiom); addTriple(axiom, RDF_TYPE.getIRI(), OWL_ALL_DISJOINT_PROPERTIES.getIRI()); addListTriples(axiom, OWL_MEMBERS.getIRI(), axiom.properties()); } }
@Override public void visit(OWLDataUnionOf node) { translateAnonymousNode(node); addTriple(node, RDF_TYPE.getIRI(), RDFS_DATATYPE.getIRI()); addListTriples(node, OWL_UNION_OF.getIRI(), node.operands()); }