首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用一种不同的公理对子类进行OWL2建模

使用一种不同的公理对子类进行OWL2建模
EN

Stack Overflow用户
提问于 2013-06-18 23:37:15
回答 1查看 168关注 0票数 1

我正在尝试使用OWL 2 (DL,使用Protege)对一些词汇数据进行建模。我的主类是“引理”,它有许多公理(使用曼彻斯特语法):

代码语言:javascript
复制
Every Lemma hasLanguage some Language. 
Every Lemma hasEtymology some Etymology. 
Every Lemma hasMorphology some Morphology.

等。

我还有一个VariantLemma类,它基本上是原始词条的一种变体拼写,但它将始终与其父词条具有相同的语言和词源,但可以具有不同的词法。我最初将其建模为等同于:

代码语言:javascript
复制
Lemma and (isVariantOf some Lemma)

但是,除了形态学之外,对于所有公理,我怎么能声明它与它的父引理具有相同的值呢?我能以某种方式使用属性链吗?

谢谢你的建议!

EN

回答 1

Stack Overflow用户

发布于 2013-06-19 00:26:13

你可以做到这一点。在你有一个

代码语言:javascript
复制
         isVariantOf             hasLanguage
lemma2 ---------------> lemma1 ---------------> language1

然后你想要推断出一个额外的属性:

代码语言:javascript
复制
         hasLanguage
lemma2 ---------------> language1

由于您可以在第一个图中找到从lemma2language1的路径,因此您可以通过以下子属性链公理断言第二个图必须存在。当然,您也需要对其他属性执行相同的操作。

代码语言:javascript
复制
isVariantOf o hasLanguage SubPropertyOf hasLanguage

当你有一个OWL推理机和这些公理时,如果你有关于lem1lem2 isVariantOf lem1的断言,你会看到lem2的推断属性。下面是Protégé中的lem1及其属性:

连接了颗粒推理器后,将推断lem2hasEtymologyhasLanguage属性(以黄色背景显示):

这里是OWL本体,如果你感兴趣的话:

代码语言:javascript
复制
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns="http://www.example.org/lemmata#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about="http://www.example.org/lemmata"/>
  <owl:Class rdf:about="http://www.example.org/lemmata#Morphology"/>
  <owl:Class rdf:about="http://www.example.org/lemmata#VariantLemma">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="http://www.example.org/lemmata#Lemma"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#isVariantOf"/>
            </owl:onProperty>
            <owl:someValuesFrom rdf:resource="http://www.example.org/lemmata#Lemma"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="http://www.example.org/lemmata#Language"/>
  <owl:Class rdf:about="http://www.example.org/lemmata#Etymology"/>
  <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#hasEtymology">
    <owl:propertyChainAxiom rdf:parseType="Collection">
      <rdf:Description>
        <owl:inverseOf rdf:resource="http://www.example.org/lemmata#isVariantOf"/>
      </rdf:Description>
      <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#hasEtymology"/>
    </owl:propertyChainAxiom>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#hasLanguage">
    <owl:propertyChainAxiom rdf:parseType="Collection">
      <rdf:Description>
        <owl:inverseOf rdf:resource="http://www.example.org/lemmata#isVariantOf"/>
      </rdf:Description>
      <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#hasLanguage"/>
    </owl:propertyChainAxiom>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="http://www.example.org/lemmata#hasMorphology"/>
</rdf:RDF>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17173081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档