// Create conjunctions with all restrictions
if(conjuncts.size() == 1) {
push(conjuncts.get(0));
} else if(!conjuncts.isEmpty()){
push(new Conjunction(conjuncts));
}
} else {
throw new RuntimeException("Unsupporter OWLDataRange: "+
range.getClass().getName());
}
}
public void visit(OWLObjectOneOf e) {
// TODO: implement to support EL profile
unimplemented(e);
}
public void visit(OWLObjectHasSelf e) {
// TODO: implement to support EL profile
// There is no model object to support this.
/*
* A self-restriction ObjectHasSelf( OPE ) consists of an object
* property expression OPE, and it contains all those
* individuals that are connected by OPE to themselves.
*/
/*Role r = new Role<>(e.getProperty().asOWLObjectProperty().toStringID());*/
unimplemented(e);
}
public void visit(OWLObjectMaxCardinality e) {
unimplemented(e);
}
public void visit(OWLObjectExactCardinality e) {
unimplemented(e);
}
public void visit(OWLObjectMinCardinality e) {
unimplemented(e);
}
public void visit(OWLObjectHasValue e) {
// TODO: implement to support EL profile
// We do not support individuals
unimplemented(e);
}
public void visit(OWLObjectAllValuesFrom e) {
unimplemented(e);
}
public void visit(OWLObjectSomeValuesFrom e) {
NamedRole r = new NamedRole(e.getProperty().asOWLObjectProperty().toStringID());
e.getFiller().accept(this);
try {
push(new Existential(r, pop()));
} catch(EmptyStackException ex) {
problems.add("Unable to add axiom " + e + " because of previous problems.");
}
}
public void visit(OWLObjectComplementOf e) {
unimplemented(e);
}
public void visit(OWLObjectUnionOf e) {
unimplemented(e);
}
public void visit(OWLObjectIntersectionOf e) {
List<Concept> items = new ArrayList<Concept>();
for (OWLClassExpression desc : e.getOperands()) {
desc.accept(this);
try {
items.add(pop());
} catch(EmptyStackException ex) {
problems.add("Unable to add conjunct " + desc + " because of previous problems.");
}
}
if(!items.isEmpty()) {
Conjunction conj = new Conjunction(items);
push(conj);
}
}
public void visit(OWLClass e) {