@Override public void visit(OWLClassAssertionAxiom axiom) { if (!axiom.getClassExpression().isAnonymous()) { source = axiom.getIndividual().asOWLNamedIndividual(); target = axiom.getClassExpression().asOWLClass(); } }
private void processIfAnonymous(OWLIndividual ind) { if (!currentIndividuals.contains(ind)) { currentIndividuals.add(ind); if (ind.isAnonymous()) { ont.axioms(ind).sorted().forEach(ax -> ax.accept(this)); ont.annotationAssertionAxioms(ind.asOWLAnonymousIndividual()).sorted() .forEach(ax -> ax.accept(this)); } currentIndividuals.remove(ind); } }
@Override public void visit(OWLDataPropertyAssertionAxiom axiom) { axiom.getSubject().accept(this); axiom.annotations().forEach(a1 -> a1.accept(this)); }
@Override public void addSignatureEntitiesToSet(Set<OWLEntity> entities) { for (OWLIndividual individual : individuals) { if (individual.isNamed()) { entities.add(individual.asOWLNamedIndividual()); } } }
public void visit(OWLClassAssertionAxiom axiom) { if (!axiom.getIndividual().isAnonymous()) { axiom.getIndividual().asOWLNamedIndividual().accept(this); } }
@Override public Concept visit(OWLClassAssertionAxiom axiom) { if (!axiom.getIndividual().isNamed()) { return null; } else { return migrator.entity(axiom.getIndividual().asOWLNamedIndividual()); } }
@Override public Node<OWLNamedIndividual> getSameIndividuals(OWLNamedIndividual ind) { ensurePrepared(); Set<OWLNamedIndividual> inds = new HashSet<>(); Set<OWLSameIndividualAxiom> processed = new HashSet<>(); List<OWLNamedIndividual> stack = new LinkedList<>(); stack.add(ind); while (!stack.isEmpty()) { OWLNamedIndividual currentInd = stack.remove(0); Stream<OWLSameIndividualAxiom> axioms = getRootOntology().importsClosure() .flatMap(o -> o .sameIndividualAxioms(currentInd)).filter(processed::add); axioms.forEach(ax -> ax.individuals().filter(i -> i.isNamed()).filter(i -> inds.add(i .asOWLNamedIndividual())).forEach(i -> stack.add(i.asOWLNamedIndividual()))); } if (inds.isEmpty()) { inds.add(ind); } return new OWLNamedIndividualNode(inds); }
private void processIndividuals(OWLOntology ontology, VowlData vowlData, OWLOntologyManager manager) { ontology.classesInSignature(Imports.INCLUDED).collect(Collectors.toSet()).forEach(owlClass -> { for (OWLOntology owlOntology : manager.ontologies().collect(Collectors.toSet())) { try { EntitySearcher.getIndividuals(owlClass, owlOntology).forEach(owlIndividual -> owlIndividual.accept(new IndividualsVisitor(vowlData, owlIndividual, owlClass, manager))); } catch (Exception e){ logger.info("@WORKAROUND: Failed to accept some individuals ... SKIPPING THIS" ); logger.info("Exception: "+e); logger.info("----------- Continue Process --------"); } } }); }
private void createEdgesForClassAssertions(Set<Edge> edges, Set<OWLEntity> processed, OWLNamedIndividual individual, OWLNamedIndividualData individualData) { getOntologies() .flatMap(o -> o.getObjectPropertyAssertionAxioms(individual).stream()) .filter(ax -> isNamedIndividual(ax.getObject())) .filter(ax -> isNamedProperty(ax.getProperty())) .forEach(ax -> { var object = ax.getObject().asOWLNamedIndividual(); var objectData = renderer.getIndividualData(object); var propertyData = renderer.getObjectPropertyData(ax.getProperty().asOWLObjectProperty()); edges.add(RelationshipEdge.get(individualData, objectData, propertyData)); createEdgesForIndividual(edges, processed, object); }); }
@Override public void visit(OWLSameIndividualAxiom axiom) { axiom.individuals().filter(ind -> !ind.isAnonymous()).forEach(ind -> { getAxiomsForLHS(ind.asOWLNamedIndividual()).add(axiom); indexAxiomsByRHSEntities(ind, axiom); }); }
@Override public void visit(OWLDifferentIndividualsAxiom axiom) { axiom.individuals().forEach(ind -> { if (!ind.isAnonymous()) { getAxiomsForLHS(ind.asOWLNamedIndividual()).add(axiom); indexAxiomsByRHSEntities(ind, axiom); } }); }
@Override public void visit(OWLDataPropertyAssertionAxiom axiom) { process(axiom); axiom.getSubject().accept(this); axiom.getProperty().accept(this); axiom.getObject().accept(this); }
@Override public void visit(OWLObjectPropertyAssertionAxiom axiom) { process(axiom); axiom.getSubject().accept(this); axiom.getProperty().accept(this); axiom.getObject().accept(this); }
@Override public void visit(OWLClassAssertionAxiom axiom) { process(axiom); axiom.getIndividual().accept(this); axiom.getClassExpression().accept(this); }
@Override public void visit(OWLNegativeDataPropertyAssertionAxiom axiom) { process(axiom); axiom.getSubject().accept(this); axiom.getProperty().accept(this); axiom.getObject().accept(this); }
@Override public void visit(OWLNegativeObjectPropertyAssertionAxiom axiom) { process(axiom); axiom.getSubject().accept(this); axiom.getProperty().accept(this); axiom.getObject().accept(this); }
public Boolean visit(OWLDataPropertyAssertionAxiom axiom) { OWLIndividual sub=axiom.getSubject(); if (sub.isAnonymous()) { anonymousIndividualAxioms.add(axiom); return true; // will be checked afterwards by rolling-up } return reasoner.hasDataPropertyRelationship(sub.asOWLNamedIndividual(),axiom.getProperty().asOWLDataProperty(),axiom.getObject()); } public Boolean visit(OWLNegativeDataPropertyAssertionAxiom axiom) {
@Override public Concept visit(OWLObjectPropertyAssertionAxiom axiom) { if (!axiom.getSubject().isNamed() || !axiom.getObject().isNamed() || !axiom.getProperty().isOWLObjectProperty()) { return null; } Entity subject = migrator.entity(axiom.getSubject().asOWLNamedIndividual()); Entity object = migrator.entity(axiom.getObject().asOWLNamedIndividual()); RelationshipType relationshipType = migrator.relation(axiom.getProperty().asOWLObjectProperty()); return relationshipType.addRelationship() .addRolePlayer(migrator.subjectRole(relationshipType), subject) .addRolePlayer(migrator.objectRole(relationshipType), object); }
@Override public void visit(OWLClassAssertionAxiom axiom) { if (!axiom.getIndividual().isAnonymous()) { getAxiomsForLHS(axiom.getIndividual().asOWLNamedIndividual()).add(axiom); indexAxiomsByRHSEntities(axiom.getClassExpression(), axiom); } }