我试图让佩莱传播从类的属性到属于这些类别的个人。例如,如果我有一个与属性X级,与个人乙与RDF:类型= A类,我想个人B到运行推理后具有属性X。我使用的是产业链包含对 OWL 2新功能页。这种技术完美地工作,如果我在产业链用我自己的自定义属性,但如果我尝试RDF中使用它不工作:类型本身。这里是我的RDF / XML相关的一些剪。

本体类(由耶拿产生;注意“传播”属性,因为这是我试图传播到Person类的个人):

<rdf:Description rdf:about="http://family/person">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:sameAs rdf:resource="http://family/person"/>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass rdf:resource="http://family/person"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>

“传播”属性本身(由我手动编写的,与耶拿因为不产生耶拿的API不支持对象属性链):

<rdf:Description rdf:about="http://spread/generalSpread">
    <owl:propertyChainAxiom rdf:parseType="Collection">
        <owl:ObjectProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
        <owl:ObjectProperty rdf:about="http://spread/generalSpread"/>
    </owl:propertyChainAxiom>
</rdf:Description>

推理之前,人俄狄浦斯看起来是这样的:

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
</rdf:Description>

的想法是,推理之后,它看起来是这样的:

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
</rdf:Description>

我有提到RDF一种感觉:类型为RDF:资源可能是那里的东西越来越扭曲,因为我敢肯定它不是一种资源。但我不知道如何解决它。我跑了通过粒料的命令行lint程序以及和它似乎没有与它的问题,只是它创造了RDF明确的条目:类型是这样的:

<owl:ObjectProperty rdf:about="&rdf;type"/>

看起来有点怪我,也可能是一个暗示,它不理解我的参考RDF:类型

任何人都可以阐明什么可能会在任何光线?我真的很感谢所有帮助任何人都可以提供。

有帮助吗?

解决方案

<强>非常重要修改

它实际上原来,属性传播OWL DL的领域内是可能的。例如,如果你想与传播价值spread财产simpleSpread(假设两者都在你的RDF已经定义),你可能会做这样的事情(在RDF / XML):

  <rdf:Description rdf:about="http://family/person">
    <rdfs:subClassOf>
        <owl:hasValue rdf:resource="http://spread/simpleSpread"/>
        <owl:onProperty rdf:resource="http://spread/hasSpread"/>
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    </rdfs:subClassOf>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description> 

不会那么重要了

好了,所以对信息的完整性,我会在这里发表的相关答案信息。这东西来自于与人交谈对于丸用户邮件列表。螺纹存档,并与我初始消息开始。按照线索,找出具体发生了什么事。

基本上, OWL DL 不允许 “反射” 在内置性能和数据类型。允许这可能违反了由OWL DL保证了多项式时间可判定性。为了做到这一点,你必须使用 OWL RL资料 OWL Full中,对待所有事物在OWL同样,从而允许使用在rdf:type推断的。

本的主要问题是找到一个推理机(或推理的组合),同时支持DL和RL,因为RL是轻得多重量比DL少表达(更不用说不保证在多项式时间内可判定的)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top