@Override public NodeSet<OWLClass> getSubClasses(OWLClassExpression classExpression,boolean direct) { HierarchyNode<AtomicConcept> node=getHierarchyNode(classExpression); Set<HierarchyNode<AtomicConcept>> result; if (direct) result=node.getChildNodes(); else { result=new HashSet<>(node.getDescendantNodes()); result.remove(node); } return atomicConceptHierarchyNodesToNodeSet(result); } @Override
public NodeSet<OWLClass> getSuperClasses(OWLClassExpression classExpression,boolean direct) { HierarchyNode<AtomicConcept> node=getHierarchyNode(classExpression); Set<HierarchyNode<AtomicConcept>> result; if (direct) result=node.getParentNodes(); else { result=new HashSet<HierarchyNode<AtomicConcept>>(node.getAncestorNodes()); result.remove(node); } return atomicConceptHierarchyNodesToNodeSet(result); } public NodeSet<OWLClass> getSubClasses(OWLClassExpression classExpression,boolean direct) {
public NodeSet<OWLClass> getSubClasses(OWLClassExpression classExpression,boolean direct) { HierarchyNode<AtomicConcept> node=getHierarchyNode(classExpression); Set<HierarchyNode<AtomicConcept>> result; if (direct) result=node.getChildNodes(); else { result=new HashSet<HierarchyNode<AtomicConcept>>(node.getDescendantNodes()); result.remove(node); } return atomicConceptHierarchyNodesToNodeSet(result); } public Node<OWLClass> getUnsatisfiableClasses() {
@Override public NodeSet<OWLClass> getSuperClasses(OWLClassExpression classExpression,boolean direct) { HierarchyNode<AtomicConcept> node=getHierarchyNode(classExpression); Set<HierarchyNode<AtomicConcept>> result; if (direct) result=node.getParentNodes(); else { result=new HashSet<>(node.getAncestorNodes()); result.remove(node); } return atomicConceptHierarchyNodesToNodeSet(result); } @Override
public NodeSet<OWLClass> getTypes(OWLNamedIndividual namedIndividual,boolean direct) { checkPreConditions(namedIndividual); Set<HierarchyNode<AtomicConcept>> result; if (!isDefined(namedIndividual)) { classifyClasses(); result=new HashSet<HierarchyNode<AtomicConcept>>(); result.add(m_atomicConceptHierarchy.getTopNode()); } else { if (direct) classifyClasses(); initialiseClassInstanceManager(); if (direct) m_instanceManager.setToClassifiedConceptHierarchy(m_atomicConceptHierarchy); result=m_instanceManager.getTypes(H(namedIndividual),direct); } return atomicConceptHierarchyNodesToNodeSet(result); } public boolean hasType(OWLNamedIndividual namedIndividual,OWLClassExpression type,boolean direct) {
if (classExpression.isOWLNothing() || !m_isConsistent) { HierarchyNode<AtomicConcept> node=m_atomicConceptHierarchy.getBottomNode(); return atomicConceptHierarchyNodesToNodeSet(node.getAncestorNodes()); return atomicConceptHierarchyNodesToNodeSet(Collections.singleton(node)); return atomicConceptHierarchyNodesToNodeSet(node.getAncestorNodes()); else { Set<HierarchyNode<AtomicConcept>> directDisjoints=getDisjointConceptNodes(node); result.addAll(directDisjoint.getDescendantNodes()); return atomicConceptHierarchyNodesToNodeSet(result);
@Override public NodeSet<OWLClass> getTypes(OWLNamedIndividual namedIndividual,boolean direct) { checkPreConditions(namedIndividual); Set<HierarchyNode<AtomicConcept>> result; if (!isDefined(namedIndividual)) { classifyClasses(); result=new HashSet<>(); result.add(m_atomicConceptHierarchy.getTopNode()); } else { if (direct) classifyClasses(); initialiseClassInstanceManager(); if (direct) m_instanceManager.setToClassifiedConceptHierarchy(m_atomicConceptHierarchy); result=m_instanceManager.getTypes(H(namedIndividual),direct); } return atomicConceptHierarchyNodesToNodeSet(result); } /**
if (classExpression.isOWLNothing() || !m_isConsistent.booleanValue()) { HierarchyNode<AtomicConcept> node=m_atomicConceptHierarchy.getBottomNode(); return atomicConceptHierarchyNodesToNodeSet(node.getAncestorNodes()); return atomicConceptHierarchyNodesToNodeSet(Collections.singleton(node)); return atomicConceptHierarchyNodesToNodeSet(node.getAncestorNodes()); else { Set<HierarchyNode<AtomicConcept>> directDisjoints=getDisjointConceptNodes(node); result.addAll(directDisjoint.getDescendantNodes()); return atomicConceptHierarchyNodesToNodeSet(result);
return atomicConceptHierarchyNodesToNodeSet(nodes);
return atomicConceptHierarchyNodesToNodeSet(nodes);
return atomicConceptHierarchyNodesToNodeSet(nodes);
return atomicConceptHierarchyNodesToNodeSet(nodes);
return atomicConceptHierarchyNodesToNodeSet(nodes);