@Override public Void visit(OWLDisjointClassesAxiom axiom) { List<Long> nodes = transform(axiom.getClassExpressionsAsList(), new Function<OWLClassExpression, Long>() { @Override public Long apply(OWLClassExpression individual) { return getOrCreateNode(getIri(individual)); } }); getOrCreateRelationshipPairwise(nodes, OwlRelationships.OWL_DISJOINT_WITH); return null; }
@Override public void visit(OWLDisjointClassesAxiom ax) { wasAxiomProcessed=true; //Transform in A intersect B -> bottom for (int i=0; i<ax.getClassExpressionsAsList().size()-1; i++){ for (int j=i+1; j<ax.getClassExpressionsAsList().size(); j++){ axioms.add(factory.getOWLSubClassOfAxiom( factory.getOWLObjectIntersectionOf( ax.getClassExpressionsAsList().get(i), ax.getClassExpressionsAsList().get(j)), factory.getOWLNothing())); } } //System.out.println("Normalising 'OWLDisjointClassesAxiom' into "+ axioms.size() + " axioms."); //System.out.println(axioms); }
public void visit(@Nonnull OWLDisjointClassesAxiom axiom) { renderBinaryOrNaryList(axiom.getClassExpressionsAsList(), ManchesterOWLSyntax.DISJOINT_WITH, ManchesterOWLSyntax.DISJOINT_CLASSES, COMMA_SEPARATOR); }
public void visit(OWLDisjointClassesAxiom axiom) { renderBinaryOrNaryList(axiom.getClassExpressionsAsList(), ManchesterOWLSyntax.DISJOINT_WITH, ManchesterOWLSyntax.DISJOINT_CLASSES, COMMA_SEPARATOR); }
public void visit(OWLDisjointClassesAxiom axiom) { renderBinaryOrNaryList(axiom.getClassExpressionsAsList(), ManchesterOWLSyntax.DISJOINT_WITH, ManchesterOWLSyntax.DISJOINT_CLASSES, COMMA_SEPARATOR); }
public boolean dca(@NonNull List<@NonNull SWRLBuiltInArgument> arguments) throws SWRLBuiltInException { checkNumberOfArgumentsEqualTo(2, arguments.size()); Set<OWLDisjointClassesAxiom> axioms = getBuiltInBridge().getOWLOntology() .getAxioms(AxiomType.DISJOINT_CLASSES, Imports.INCLUDED).stream().flatMap(a -> a.asPairwiseAxioms().stream()) .collect(Collectors.toSet()); if (axioms.isEmpty()) return false; else { Map<@NonNull Integer, @NonNull OWLObject> inputArgumentValues = getInputArgumentValues(arguments, SWRLBuiltInArgumentType.CLASS_EXPRESSION, SWRLBuiltInArgumentType.CLASS_EXPRESSION); Map<@NonNull Integer, @NonNull SWRLMultiValueVariableBuiltInArgument> outputMultiValueArguments = createOutputMultiValueArguments( arguments); for (OWLDisjointClassesAxiom axiom : axioms) { OWLClassExpression candidateValue1 = axiom.getClassExpressionsAsList().get(0); OWLClassExpression candidateValue2 = axiom.getClassExpressionsAsList().get(1); if (!noBoundArgumentsMismatch(inputArgumentValues, candidateValue1, candidateValue2)) { if (outputMultiValueArguments.isEmpty()) return true; // We have a match and there are no unbound arguments - return immediately else { // We have a match so update any unbound arguments with the matched values if (outputMultiValueArguments.containsKey(0)) outputMultiValueArguments.get(0).addArgument(createClassExpressionBuiltInArgument(candidateValue1)); if (outputMultiValueArguments.containsKey(1)) outputMultiValueArguments.get(1).addArgument(createClassExpressionBuiltInArgument(candidateValue2)); } } } return processResultMultiValueArguments(arguments, outputMultiValueArguments); } }
public void visit(OWLDisjointClassesAxiom axiom) { List<OWLClassExpression> classExps = axiom.getClassExpressionsAsList(); List<List<Set<OWLEntity>>> sols = new LinkedList<List<Set<OWLEntity>>>();
public void visit(OWLDisjointClassesAxiom axiom) { List<OWLClassExpression> classExps = axiom.getClassExpressionsAsList(); if (returnSolutions){ List<List<Set<OWLEntity>>> sols = new LinkedList<List<Set<OWLEntity>>>(); List<OWLClassExpression> classExps = axiom.getClassExpressionsAsList(); if (returnSolutions){ List<List<Set<OWLEntity>>> sols = new LinkedList<List<Set<OWLEntity>>>();