@Override public void visit(final OWLClass desc) { _node = desc.equals(OWL.Nothing) ? START_NODE : desc.equals(OWL.Thing) ? NULL_NODE : _graph.createEntityNode(desc); }
@Override public void visit(final OWLClass desc) { _node = desc.equals(OWL.Nothing) ? START_NODE : desc.equals(OWL.Thing) ? NULL_NODE : _graph.createEntityNode(desc); }
@Override public void visit(final OWLDataSomeValuesFrom desc) { _node = _graph.createEntityNode(desc.getProperty().asOWLDataProperty()); }
@Override public void visit(final OWLObjectHasValue desc) { _node = _graph.createEntityNode(desc.getProperty().getNamedProperty()); } }
@Override public void visit(final OWLObjectHasValue desc) { _node = _graph.createEntityNode(desc.getProperty().getNamedProperty()); } }
@Override public void visit(final OWLDataMinCardinality desc) { // TODO: Special handling for the n == 0 case _node = _graph.createEntityNode(desc.getProperty().asOWLDataProperty()); }
@Override public void visit(final OWLObjectHasSelf desc) { _node = _graph.createEntityNode(desc.getProperty().getNamedProperty()); }
@Override public void visit(final OWLDataAllValuesFrom desc) { _node = _graph.createEntityNode(desc.getProperty().asOWLDataProperty()); }
@Override public void visit(final OWLSubPropertyChainOfAxiom axiom) { final Set<Node> nodes = new HashSet<>(); for (final OWLObjectPropertyExpression p : axiom.getPropertyChain()) nodes.add(_graph.createEntityNode(p.getNamedProperty())); addOutputs(_graph.createAndNode(nodes), axiom); }
@Override public void visit(final OWLDataAllValuesFrom desc) { _node = _graph.createEntityNode(desc.getProperty().asOWLDataProperty()); }
@Override public void visit(final OWLSubObjectPropertyOfAxiom axiom) { final Node subNode = _graph.createEntityNode(axiom.getSubProperty().getNamedProperty()); final Node supNode = _graph.createEntityNode(axiom.getSuperProperty().getNamedProperty()); subNode.addOutput(supNode); }
@Override public void visit(final OWLObjectAllValuesFrom desc) { final Set<Node> inputNodes = new HashSet<>(); inputNodes.add(_graph.createEntityNode(desc.getProperty().getNamedProperty())); inputNodes.add(evaluate(desc.getFiller())); _node = _graph.createAndNode(inputNodes); }
@Override public void visit(final OWLSubObjectPropertyOfAxiom axiom) { final Node subNode = _graph.createEntityNode(axiom.getSubProperty().getNamedProperty()); final Node supNode = _graph.createEntityNode(axiom.getSuperProperty().getNamedProperty()); subNode.addOutput(supNode); }
@Override public void visit(final OWLDataPropertyDomainAxiom axiom) { final Set<Node> nodes = new HashSet<>(); nodes.add(_graph.createEntityNode(axiom.getProperty().asOWLDataProperty())); nodes.add(_topEvaluator.evaluate(axiom.getDomain())); addOutputs(_graph.createAndNode(nodes), axiom); }
@Override public void visit(final OWLObjectPropertyDomainAxiom axiom) { final Set<Node> nodes = new HashSet<>(); nodes.add(_graph.createEntityNode(axiom.getProperty().getNamedProperty())); nodes.add(_topEvaluator.evaluate(axiom.getDomain())); addOutputs(_graph.createAndNode(nodes), axiom); }
@Override public void visit(final OWLObjectPropertyRangeAxiom axiom) { final Set<Node> nodes = new HashSet<>(); nodes.add(_graph.createEntityNode(axiom.getProperty().getNamedProperty())); nodes.add(_topEvaluator.evaluate(axiom.getRange())); addOutputs(_graph.createAndNode(nodes), axiom); }
@Override public void visit(final OWLObjectAllValuesFrom desc) { final Set<Node> inputNodes = new HashSet<>(); inputNodes.add(_graph.createEntityNode(desc.getProperty().getNamedProperty())); inputNodes.add(evaluate(desc.getFiller())); _node = _graph.createAndNode(inputNodes); }
@Override public void visit(final OWLObjectMaxCardinality desc) { _node = (desc.getCardinality() == 0) ? _graph.createEntityNode(desc.getProperty().getNamedProperty()) : START_NODE; }
@SuppressWarnings("unchecked") private void createGraph(final int n) { _graph = new ReachabilityGraph<>(); _entities = new OWLEntity[n]; _nodes = new EntityNode[n]; for (int i = 0; i < n; i++) { _entities[i] = OWL.Class("entity" + i); _nodes[i] = _graph.createEntityNode(_entities[i]); } }
@Override public void visit(final OWLClassAssertionAxiom axiom) { if (axiom.getIndividual().isAnonymous()) return; final Node node = _bottomEvaluator.evaluate(axiom.getClassExpression()); addOutputs(node, axiom); addOutputs(_graph.createEntityNode(axiom.getIndividual()), axiom); }