OWL 2 罗化

2023-11-29

在描述逻辑中,有一个概念叫“rolification”(OWL 和规则,第 3.2 节)。它将概念(类)转换为角色(属性)。例如,当我们滚动时R(x),我们得到r(x,x)。该技术对于在深度学习中表达一些规则很有用。

我们如何在 OWL 2 中做到这一点?似乎没有直接支持roolification猫头鹰2规范.


您链接到的论文第 3.2 节说:

It is indeed possible to translate this rule into OWL 2—however this involves a transformation which we call rolification: The rolification of a concept A is a (new) role RA defined by the axiom A ≡ ∃RA.Self. Armed with rolification, we can now express rule (1) by the axiom …

OWL2 不支持表达这样的公理大象(x) & 楔子;鼠标(y) → 大于(x,y)直接地。据我了解,你manually使用本文描述的罗化过程产生一个可以直接用 OWL2 表达的新公理。

罗化

As to the specific process, if you want to express something like Elephant(x) ∧ Mouse(y) → biggerThan(x,y), you first rolify the classes Elephant and Mouse. This means that you introduce new roles (properties) RElephant and RMouse (but you do not delete the classes Elephant and Mouse). These new roles are such that RElephant(x,x) if and only if Elephant(x). This is enforced by adding the axioms

        Elephant ≡ ∃RElephant.Self

        Mouse ≡ ∃RMouse.Self

其中每一个都可以用 OWL2 来表达。有了这两个公理,您最终可以添加子属性链公理

        RElephant • topObjectProperty • RMouse ⊑ biggerThan

这也可以用 OWL2 来表达。因为对于任何大象e和任何鼠标m,我们有那个

        RElephant(e,e)

顶部对象属性(e,m)

        RMouse(m,m)

然后根据子财产链公理,我们有

大于(e,m)

这正是我们想要表达的。

公理语法

在Protege接受的输入语法中,这些公理的写法如下。

大象相当于R_大象一些自我
老鼠相当于R_鼠标一些自我
R_大象o顶部对象属性oR_鼠标子属性大于

在 Protege 中,它们如下所示。

elephant rolification axiom mouse rolification axiom subproperty chain axiom

In N3:

@prefix :        <http://www.example.org/rolification#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

:Elephant
      a       owl:Class ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:hasSelf "true"^^xsd:boolean ;
                owl:onProperty :R_Elephant
              ] .

:R_Elephant
      a       owl:ObjectProperty .

:biggerThan
      a       owl:ObjectProperty ;
      owl:propertyChainAxiom
              (:R_Elephant owl:topObjectProperty :R_Mouse) .

:Mouse
      a       owl:Class ;
      owl:equivalentClass
              [ a       owl:Restriction ;
                owl:hasSelf "true"^^xsd:boolean ;
                owl:onProperty :R_Mouse
              ] .

<http://www.example.org/rolification>
      a       owl:Ontology .

:R_Mouse
      a       owl:ObjectProperty .

在 RDF/XML 中:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.example.org/rolification#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about="http://www.example.org/rolification"/>
  <owl:Class rdf:about="http://www.example.org/rolification#Elephant">
    <owl:equivalentClass>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Elephant"/>
        </owl:onProperty>
        <owl:hasSelf rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasSelf>
      </owl:Restriction>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="http://www.example.org/rolification#Mouse">
    <owl:equivalentClass>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Mouse"/>
        </owl:onProperty>
        <owl:hasSelf rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
        >true</owl:hasSelf>
      </owl:Restriction>
    </owl:equivalentClass>
  </owl:Class>
  <owl:ObjectProperty rdf:about="http://www.example.org/rolification#biggerThan">
    <owl:propertyChainAxiom rdf:parseType="Collection">
      <owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Elephant"/>
      <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#topObjectProperty"/>
      <owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Mouse"/>
    </owl:propertyChainAxiom>
  </owl:ObjectProperty>
</rdf:RDF>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OWL 2 罗化 的相关文章

  • 使用逆属性推理 OWL 本体?

    我正在使用 Protege v4 3 来制作本体 我有一个关于 OWL 本体和 DL 查询的问题 例如 在披萨本体中 http owl cs manchester ac uk co ode files ontologies pizza ow
  • 有人可以帮助我使用 RDF/OWL 可视化工具吗?

    我尝试在互联网上搜索 但找不到合适的工具 所以如果有人可以为我提供一个可以解析和显示 RDF 和 OWL 本体图的工具的链接 SemWeb图形表示法 W3C 维护的图形符号和软件应用程序列表 已过时 RDF可视化在 Ontotext 研究空
  • Fuseki SPARQL INSERT 生成“错误 400:SPARQL 查询:无 'query=' 参数”

    我尝试将一个人插入到我的本体中 但出现错误 Error 400 SPARQL Query No query parameter Fuseki version 2 4 1 Build date 2016 11 04T18 59 20 0000
  • 添加更复杂的子类公理

    我偶然发现了另一个问题 I want to achieve something similar to this 我想使用 RDFList 来执行此操作 将必要的属性添加到列表中 然后调用方法 createUnionClass 或 creat
  • OWL-DL 本体中的序列顺序建模

    默认情况下 OWL 本体中不维护序列顺序 如何在 OWL DL 本体中对序列进行建模 对序列建模并对其元素进行排序的一种方法是引入hasNext捕获序列顺序的属性 Class SequenceItem EquivalentTo hasNex
  • 如何在Protege 4.3.0中启用Pellet?

    已经过去快一年了无法下载 Protege 4 3 的 Pellet 插件建议该版本不可用 有什么改变吗 应该可以从他们的 github 下载它并将其放入 Prog g 的插件文件夹中 https github com Complexible
  • OWL-LIST 和 RDF-LIST 之间的区别

    我无法理解 OWL LIST 和 RDF LIST 之间的区别 其次 为什么OWL DL由于OWL序列化而不支持RDF LIST 以及如何在 OWL DL 中创建 OWL LIST 正如评论中提到的 我不认为有任何称为 OWL LIST 的
  • 有限制的 OWL 类型推断

    我正在使用 FaCT 和一个简单的本体研究 Protege 4 的 OWL 限制概念 假设我有一个人foo班级的Something Something a owl Class foo a Something owl NamedIndivid
  • 删除 SPARQL 中不需要的超类答案

    我有一个 OWL 文件 其中包含一个分类层次结构 我想编写一个查询 其中答案包括每个个体及其直接分类父级 这是一个示例 完整的查询相当混乱 prefix rdfs
  • SPARQL 获取类或个体的所有属性

    我想要做的是从Individual1或从一个类获取属性列表 获取 某物 的所有属性 结果应该是这样的 对于 Secret Data Asset has Confidentiality Importance High Asset has Av
  • 有Python库可以处理OWL吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 它可能是像这样大的东西Jena http jena sourceforge net 或者更小的东西 你
  • OWL/XML 读取问题

    我在使用 Jena 从 Java 读取 OWL XML 文件时遇到问题 我读取 RDF XML 文件没有问题 但每当我从 Protege 创建 OWL XML 文件并尝试读取它时 Java 都会给出以下错误 警告 主要 RDFDefault
  • DatatypeProperty、ObjectProperty 和FunctionalProperty 之间有什么区别,什么时候应该使用它们?

    在编写本体时 有几种非常常用的类型 包括 数据类型属性 对象属性 功能特性 反函数性质 前三个看起来像是以一组特定的方式使用 但我发现我对它们的想法受到了我在 FOAF 中的使用方式的挑战 它们分别在什么时候应该使用或者什么时候不应该使用
  • 在 OWL 中的同一属性中定义多个域/范围

    在 OWL 中设置数据 对象属性的域 范围的正确方法是什么 如果我有两节课A B和数据属性hasName
  • uml 与 RDF 和 OWL 的组合关系

    我是 RDF 和 OWL 本体的初学者 我正在尝试将此图转换为 OWL 语法
  • 通过计算属性来推断 OWL 中的知识

    我有一个包含 Person 和 City 类的本体 人们前往城市旅行 这种旅行在 TravelTo 对象属性中表示 我想添加一个 WorldTraveler 类 如果人们去过两个或更多城市 那么他们就是世界旅行者 我怎样才能在我的本体中做到
  • 在 Protege 中使用 SPARQL 推断数据

    我正在尝试推断 RDF 数据 假设我有这些三元组 RDF Turtle 是我使用 Protege 创建的 prefix owl
  • 通过SPARQL UPDATE从本体中删除空白节点

    我在 SPARQL UPDATE 插入 操作的帮助下将一些数据存储在 protege 中制作的本体模型中 以下是更新查询 PREFIX test
  • SPARQL:如何将 owl:equivalentClass 传输到 rdfs:subClassOf (owl:Restriction) 属性?

    我的问题是关于使用 SPARQL 查询一些 owl 本体 其中owl Restrictions被大量使用 在我的例子中 这是 细胞本体论 http obofoundry org ontology cl html 以下是一些典型条目的示例 以
  • 将 SWRL 与 Jena 和 Pellet 结合使用

    我无法找到一些使用 SWRL 和 Jena 的简单代码示例 佩莱 或者至少使用 SWRL 我研究了 Pellet 文档中的一些示例 但没有关于使用 SWRL 的示例 网络上的大多数示例都不完整且令人困惑 我找到的唯一解决方案是使用 Jess

随机推荐

  • 如何在word中创建报告生成器

    我目前正在尝试制作它 以便我可以加载Word模板并提示填写数据 然后将这些数据填充到Word文档中 该报告有两个主要部分 概览中的第一个 系统将自动计算摘要 第二部分是摘要 其中将附加数据 在 Word 中生成报告的方法有多种 每种方法都有
  • WebBrowser 控件 - 控制台应用程序 - 事件未触发

    我一直在浏览各种WebBrowser控制stackoverflow问题 而且我似乎无法找到我遇到的问题的答案 我正在尝试使用用于打印网页的 WebBrowser 控件 下列的MSDN 的例子 我创建了以下控制台应用程序 namespace
  • 来自 Google 电子表格的电子邮件中的图表图像与 google-apps-script 返回白色图像

    我每天晚上都会向我自己的 Gmail 地址发送一份报告 大约一周后 图表的图像突然变成了空白 只有一张图表 function sendReport var ss SpreadsheetApp getActiveSpreadsheet var
  • 当参数是函数参数包时,在部分排序期间推导模板实参

    N4527 14 8 2 4 温度扣除部分 3 用于确定排序的类型取决于完成部分排序的上下文 3 1 在函数调用的上下文中 使用的类型是函数调用具有参数的函数参数类型 3 2 在调用转换函数的上下文中 使用转换函数模板的返回类型 3 3 在
  • 如何在 TypeScript 中将一种泛型类型的结构复制到另一种泛型?

    假设我们有以下输入类型 interface Input name string heightCm number dob Date 我想编写一个函数 可以根据此输入生成以下输出类型 interface Output name boolean
  • Flex 项目在换行时应左对齐,而不是居中

    我的网站移动菜单底部有一个基于 Flex 的无序社交媒体图标列表 我试图让三人并排坐着 间隔相等 我已经按照规则解决了这个问题 justify content space around but 我的问题是 当超过三个项目时 下一行开始从中心
  • 在shopify中编写自定义搜索应用程序

    我需要在 Shopify 中实现我们自己的自定义产品搜索 但我一直无法找到具体的操作方法 我不是在谈论显示搜索结果的模板 而是我们需要编写自定义代码来准确决定哪些产品应显示在搜索页面上及其顺序 我可以看到有很多应用程序提供自定义搜索结果 顺
  • 更新 .NET Core 工具

    我正在尝试使用 电子邮件受保护 为了在这一点上做到这一点 我已经有了 安装了 Visual Studio 2019 预览版 安装了 NET Core 3 1运行时 安装了 NET Core 3 1 SDK 现在我仍然无法运行命令dotnet
  • R[写入控制台]:gettext(fmt,domain = domain,trim = trim)中的错误:3个参数传递给.Internal(gettext),需要2个

    我想在python中使用R函数 我在python中安装了rpy2 当我想加载函数 from rpy2 import robjects 时 我面临以下错误 R 写入控制台 gettext fmt domain domain trim trim
  • MapOverlay 绑定不起作用

    我正在尝试使用 MVVM 代码结构在 Windows Phone 8 上运行地图叠加 我似乎无法将 MapOverlay 的 GeoCoordinate 属性正确绑定到我的 ViewModel 而且我不知道为什么 目前的 XAML 是 He
  • 在jqGrid中,是否可以使用Ajax来获取custom_element的数据?

    我正在做某事类似于这个问题我有一个复选框列表作为自定义编辑控件 不同之处在于我想从服务器获取我的列表 而不是在客户端上硬编码 检查1 检查2 检查3 有什么方法可以在列设置或在自定义元素功能 看来我需要类似的东西dataUrl您用于选择项目
  • 从多个表中获取数据

    医学硕士 MedicalID MedicalName 1 pk abc 2 xyx 3 pqr 儿童医学硕士 ChildMID MedicalID Station Name 1 pk 1 fk bnb mfk 2 1 def rwr 3 2
  • 使用 LINQ 获取多维数组的分区(N 维数组的 (N-1) 维实例)

    我想从 3d 数组中获取 2d 数组 假设我有一个维度为 10 10 10 的双 3d 数组 A3我需要获得一个二维数组 A2 A3 5 即第二维的索引等于例如5 如果我想获得 2d 数组 A2 即 2d 数组的 1d 实例 的分区 例如
  • 查找嵌套在 Repeater 控件内的控件

    我正在尝试查找在中继器中呈现的文本框的值thoughUserControl 即 Repeater 有一个 UserControl 的占位符 UserControl 内部是 TextBox 标记实际存在的位置 我以前用文本框做过这个直接在里面
  • 如何在 JavaScript 中使用 fetch() 读取 JSON 文件?

    如何使用 javascript 中的 fetch 函数读取本地 JSON 文件 我有一个包含一些转储数据的 JSON 文件和一个读取服务器上 JSON 文件的函数 例如 readJson console log this let vm th
  • 如何将数字附加到 XSL 文件内的 ID

    我有以下 XSL 文件 该文件将重复多次 在我的例子中为 4 次
  • 如何从另一个线程更新 GUI?

    我的线程有问题JSF申请 也许有人可以帮助我 启动后 我运行新线程 该线程正在进行一些后台操作 该线程正在工作while true loop 但当它无能为力时 它会调用wait 它正在循环工作 因为我必须调用notify 在一些用户操作之后
  • BeanUtils 复制属性:注册 ConvertUtils

    我有用 Java 编写的 Web 应用程序 我在用着BeanUtils copyProperties方法 如果一个date字段为空 会抛出错误 我通过使用解决了它ConvertUtils register method ConvertUti
  • Spring Data Neo4j:使用嵌入的 Neo4j 服务器:JAR 打包

    我终于能够在我的 java 应用程序中创建一个使用嵌入式数据库的服务器实例 如下所示here 当我从 Eclipse 运行它时 它可以正常工作 但这实际上不是我的目的 除其他事项外 我的应用程序向数据库提供新的节点和关系 我有一个 Neo4
  • OWL 2 罗化

    在描述逻辑中 有一个概念叫 rolification OWL 和规则 第 3 2 节 它将概念 类 转换为角色 属性 例如 当我们滚动时R x 我们得到r x x 该技术对于在深度学习中表达一些规则很有用 我们如何在 OWL 2 中做到这一