【问题标题】:Creating relations between classes in web ontology language(owl)在网络本体语言(owl)中创建类之间的关系
【发布时间】:2012-10-13 07:38:01
【问题描述】:

我需要在我的本体中用 OWL 语法定义类之间的关系。 我该怎么办?

【问题讨论】:

  • 您的代码没有显示出来,我修正了格式。在 StackOverflow 上包含代码 sn-ps 的最简单方法是将每个代码行缩进四个空格。

标签: rdf taxonomy ontology owl rdfs


【解决方案1】:

首先,请注意有两种 XML 语法(除了几种其他非 XML 语法)可用于编写 OWL。您的 sn-p 采用 RDF/XML 语法。另一种语法是 OWL/XML。 OWL Primer 包含两种语法的示例。

你的 sn-p 说:

  • URI <#net> 标识一个类。
  • 此类具有标签“网络”(一个字符串)。
  • 此类与由 URI <#Node> 标识的事物存在“hasPart”关系。

前两件事是有道理的,但最后一点是没有意义的。我猜你真正想说的是:

  • URI <#Node> 还标识一个类。
  • URI <#hasPart> 标识连接两个类别的个人的属性(owl:ObjectProperty)。
  • hasPart 属性的主题是网络(换句话说,hasPart 的域是#net)。
  • hasPart 属性的对象是节点(也就是说,hasPart 的范围是#node)。

查看 OWL Primer 中的示例应该会让您对如何写下这些内容有一个不错的想法。但还要注意,手工编写 RDF/XML 语法既乏味又容易出错。您可能想使用像 TopBraid Composer 这样的 OWL 编辑器,或像 OWL-API 这样的编程库来创建您的 OWL 文件。如果你真的想手工编写它们,我建议使用 Turtle 语法(同样,Primer 中有示例),因为它更具可读性,并且可以让你在学习 SPARQL(OWL 和 RDF 的查询语言)方面占得先机。

【讨论】:

  • 我想在 owl 中开发一个本体,以便所有节点都可以包含与其他节点的关系,这些关系可以是双向的。据我所知,我们可以只定义不同类别的个体之间的关系。什么我需要在任何级别定义类本身之间的关系,例如层次结构中的默认关系。
【解决方案2】:

我同意 cygri 的观点,像这样将 #net#Node 关联起来似乎没有意义,并且您可能希望 #net 的所有实例都有一部分或部分是 @987654324 的实例@。为此,您可以编写:

<owl:Class rdf:ID="Node"/>
<owl:Class rdf:ID="net">
    <rdfs:subClassOf>
        <owl:Restriction>
            <owl:onProperty rdf:resource="#hasPart"/>
            <owl:someValuesFrom rdf:resource="#Node"/>
        </owl/Restriction>
    </rdfs:subClassOf>
</owl:Class>

您可能仍想定义直接连接两个类的属性。例如:

<#Node>  <#isSimilarTo>  <#Vertice> .

要在 OWL 中执行此操作,您可以定义 owl:AnnotationProperty

<owl:AnnotationProperty rdf:about="isSimilarTo"/>
<owl:Class rdf:ID="Node">
    <isSimilarTo rdf:resource="#Vertice"/>
</owl:Class>

或者你可以使用“双关语”,即使用一个类作为实例,例如:

<owl:ObjectProperty rdf:about="isSimilarTo"/>
<owl:Class rdf:ID="Node">
    <rdf:type rdf:resource="&owl;Thing"/>
    <isSimilarTo>
        <owl:Thing rdf:about="#Vertice"/>
    </isSimilarTo>
</owl:Class>

请注意,在 OWL DL 中,所有实例都必须显式键入。这里,#Node 被声明为owl:Thing 的类和实例。这并不意味着owl:Thing 可以包含类,而是意味着#Node 指的是两个不同的东西:一个类和一个实例。在 OWL DL 中,IRI 出现的上下文总是清楚地表明该术语的含义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2013-05-12
    • 2016-12-05
    相关资源
    最近更新 更多