【问题标题】:Test whether a OWL class is a domain/range of a property测试 OWL 类是否是属性的域/范围
【发布时间】:2017-03-06 17:00:52
【问题描述】:

在来自 owl-api 存储库的 the example hasProperty 中:

为了测试一个类的实例是否必须具有一个属性,我们从限制中创建一些值,然后询问与这些限制中的一些值的补码相交的类的可满足性。如果交集是可满足的,则类的实例不必具有该属性,否则,它们具有。

所以要检查一个类是否是一个对象属性的域,我可以使用下面的 sn-p:

OWLDataFactory dataFactory = manager.getOWLDataFactory();
OWLClassExpression restriction = dataFactory.getOWLObjectSomeValuesFrom(objectProperty, dataFactory.getOWLThing());
OWLClassExpression complement = dataFactory.getOWLObjectComplementOf(restriction);
OWLClassExpression intersection = dataFactory.getOWLObjectIntersectionOf(cls, complement);
boolean hasObjectProperty = !reasoner.isSatisfiable(intersection);

我想知道如何检查一个类是否是一个对象属性的范围,以及它是否是一个数据属性的域。我可以使用以下 sn-p(基于上面的示例)来检查数据属性域吗?

OWLClassExpression restriction = dataFactory.getOWLDataSomeValuesFrom(dataProperty, dataFactory.getOWLThing());
OWLClassExpression complement = dataFactory.getOWLDataComplementOf(restriction);
OWLClassExpression intersection = dataFactory.getOWLDataIntersectionOf(cls, complement);
boolean hasDataProperty = !reasoner.isSatisfiable(intersection);

【问题讨论】:

    标签: rdf semantic-web owl owl-api reasoning


    【解决方案1】:

    该示例没有执行您要查找的操作 - 它检查类的实例是否 需要 具有具有特定属性的属性断言。您尝试验证的条件较弱 - 给定属性断言,C 类是否被推断为断言的主题(或范围情况下的对象)的类型。

    这可以通过更简单的方式(代码和复杂性)来完成,检查属性的域是否是您感兴趣的类的超类 - 或者,如果您想检查类 C 是否是 正是域,你可以检查两个类是否等价。

    例子:

    OWLOntology o = ... //root ontology for the reasoner
    OWLReasoner r = ...
    OWLObjectProperty p = ...
    for (OWLObjectPropertyDomainAxiom ax: o.getObjectPropertyDomainAxioms(p)) {
        OWLClassExpression c = ax.getDomain();
        NodeSet<OWLClass> allSubClasses = r.getSubClasses(c, false);
        Node<OWLClass> allEquivalentClasses = r.getEquivalentClasses(c);
    }
    

    对于数据属性的域,您只需在示例中从对象切换到数据属性,对于对象属性的范围,您将搜索对象属性范围公理。

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 2016-09-02
      • 2014-03-17
      • 2023-03-15
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多