本文整理汇总了Java中org.semanticweb.owlapi.model.OWLObjectMaxCardinality.getFiller方法的典型用法代码示例。如果您正苦于以下问题:Java OWLObjectMaxCardinality.getFiller方法的具体用法?Java OWLObjectMaxCardinality.getFiller怎么用?Java OWLObjectMaxCardinality.getFiller使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.semanticweb.owlapi.model.OWLObjectMaxCardinality
的用法示例。
在下文中一共展示了OWLObjectMaxCardinality.getFiller方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visit
import org.semanticweb.owlapi.model.OWLObjectMaxCardinality; //导入方法依赖的package包/类
@Override
public HandlerResult visit(OWLObjectMaxCardinality ce) {
if (ce.getCardinality() == 0) {
// remove the ce if the max cardinality is zero
return HandlerResult.remove();
}
final OWLClassExpression filler = ce.getFiller();
final HandlerResult recursive = filler.accept(this);
OWLObjectSomeValuesFrom newCE;
if (recursive == null) {
newCE = factory.getOWLObjectSomeValuesFrom(ce.getProperty(), filler);
}
else if (recursive.remove) {
return HandlerResult.remove();
}
else {
newCE = factory.getOWLObjectSomeValuesFrom(ce.getProperty(), recursive.modified);
}
return HandlerResult.modified(newCE);
}
示例2: visit
import org.semanticweb.owlapi.model.OWLObjectMaxCardinality; //导入方法依赖的package包/类
public OWLClassExpression visit(OWLObjectMaxCardinality object) {
m_axioms.m_objectPropertiesOccurringInOWLAxioms.add(object.getProperty().getNamedProperty());
OWLClassExpression filler=object.getFiller();
if (isSimple(filler))
return object;
else {
OWLClassExpression complementDescription=m_expressionManager.getComplementNNF(filler);
OWLClassExpression definition=getDefinitionFor(complementDescription,m_alreadyExists);
if (!m_alreadyExists[0])
m_newInclusions.add(new OWLClassExpression[] { negative(definition),complementDescription });
return m_factory.getOWLObjectMaxCardinality(object.getCardinality(),object.getProperty(),m_expressionManager.getComplementNNF(definition));
}
}
示例3: visit
import org.semanticweb.owlapi.model.OWLObjectMaxCardinality; //导入方法依赖的package包/类
@Override
public OWLObjectMaxCardinality visit(OWLObjectMaxCardinality ce) {
if (LOG.isDebugEnabled()) {
LOG.debug("Unfolding max_cardinality: "+ce);
}
OWLClassExpression filler = ce.getFiller();
if (filler != null) {
OWLClassExpression unfold = filler.accept(this);
if (unfold != null) {
return factory.getOWLObjectMaxCardinality(ce.getCardinality(), ce.getProperty(), unfold);
}
}
return null;
}
示例4: visit
import org.semanticweb.owlapi.model.OWLObjectMaxCardinality; //导入方法依赖的package包/类
@Override
public OWLClassExpression visit(OWLObjectMaxCardinality ce) {
OWLClassExpression filler = ce.getFiller();
OWLClassExpression shortenedFiller = filler.accept(this);
if(shortenedFiller.isOWLNothing()){// <= n r.\bot \equiv \top
return df.getOWLThing();
} else if(beautify && ce.getCardinality() == 0) {// we rewrite <= 0 r C to \neg \exists r C - easier to read for humans
return df.getOWLObjectComplementOf(df.getOWLObjectSomeValuesFrom(ce.getProperty(), shortenedFiller));
} else if(!filler.equals(shortenedFiller)){
return df.getOWLObjectMaxCardinality(ce.getCardinality(), ce.getProperty(), shortenedFiller);
}
return ce;
}
示例5: visit
import org.semanticweb.owlapi.model.OWLObjectMaxCardinality; //导入方法依赖的package包/类
public void visit(OWLObjectMaxCardinality object) {
int cardinality=object.getCardinality();
OWLObjectPropertyExpression onObjectProperty=object.getProperty();
OWLClassExpression filler=object.getFiller();
ensureYNotZero();
boolean isPositive;
AtomicConcept atomicConcept;
if (filler instanceof OWLClass) {
isPositive=true;
atomicConcept=AtomicConcept.create(((OWLClass)filler).getIRI().toString());
if (atomicConcept.isAlwaysTrue())
atomicConcept=null;
}
else if (filler instanceof OWLObjectComplementOf) {
OWLClassExpression internal=((OWLObjectComplementOf)filler).getOperand();
if (!(internal instanceof OWLClass))
throw new IllegalStateException("Internal error: Invalid ontology normal form.");
isPositive=false;
atomicConcept=AtomicConcept.create(((OWLClass)internal).getIRI().toString());
if (atomicConcept.isAlwaysFalse())
atomicConcept=null;
}
else
throw new IllegalStateException("Internal error: Invalid ontology normal form.");
Role onRole=getRole(onObjectProperty);
LiteralConcept toConcept=getLiteralConcept(filler);
AnnotatedEquality annotatedEquality=AnnotatedEquality.create(cardinality,onRole,toConcept);
Variable[] yVars=new Variable[cardinality+1];
for (int i=0;i<yVars.length;i++) {
yVars[i]=nextY();
m_bodyAtoms.add(getRoleAtom(onObjectProperty,X,yVars[i]));
if (atomicConcept!=null) {
Atom atom=Atom.create(atomicConcept,yVars[i]);
if (isPositive)
m_bodyAtoms.add(atom);
else
m_headAtoms.add(atom);
}
}
// Node ID comparisons are not needed in case of functionality axioms,
// as the effect of these is simulated by the way in which the rules are applied.
if (yVars.length>2) {
for (int i=0;i<yVars.length-1;i++)
m_bodyAtoms.add(Atom.create(NodeIDLessEqualThan.INSTANCE,yVars[i],yVars[i+1]));
m_bodyAtoms.add(Atom.create(NodeIDsAscendingOrEqual.create(yVars.length),yVars));
}
for (int i=0;i<yVars.length;i++)
for (int j=i+1;j<yVars.length;j++)
m_headAtoms.add(Atom.create(annotatedEquality,yVars[i],yVars[j],X));
}