通过计算属性来推断 OWL 中的知识

2024-04-01

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

@prefix : <http://www.semanticweb.org/chris/ontologies/2017/9/untitled-ontology-64#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.semanticweb.org/chris/ontologies/2017/9/untitled-ontology-64> .

<http://www.semanticweb.org/chris/ontologies/2017/9/untitled-ontology-64> rdf:type owl:Ontology .

:traveledTo rdf:type owl:ObjectProperty ;
            rdfs:domain :Person ;
            rdfs:range :City .

:City rdf:type owl:Class .

:Person rdf:type owl:Class .

:Bob rdf:type owl:NamedIndividual ,
              :Person ;
     :traveledTo :London ,
                 :Ottawa ,
                 :Paris .

:Brussels rdf:type owl:NamedIndividual ,
                   :City .

:London rdf:type owl:NamedIndividual ,
                 :City .

:Ottawa rdf:type owl:NamedIndividual ,
                 :City .

:Paris rdf:type owl:NamedIndividual ,
                :City .

:Ralph rdf:type owl:NamedIndividual ,
                :Person ;
       :traveledTo :Rome .

:Rome rdf:type owl:NamedIndividual ,
               :City .

:Washington rdf:type owl:NamedIndividual ,
                     :City .

我尝试添加以下类,但它似乎不起作用:

:WorldTraveler rdf:type owl:Class ;
               owl:equivalentClass [ owl:intersectionOf ( :Person
                                                          [ rdf:type owl:Restriction ;
                                                            owl:onProperty :traveledTo ;
                                                            owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
                                                            owl:onClass :City
                                                          ]
                                                        ) ;
                                     rdf:type owl:Class
                                   ] .

我相信,由于开放世界的假设,我的推理机可能无法推断出拉尔夫不是世界旅行者。但是,应该能够推断出 Bob 是 WorldTraveler,因为他去过 3 个城市。

感谢您的帮助。

Chris


除了开放世界假设(OWA)之外,还存在唯一名称假设(UNA)。 OWL 确实创造了前者(OWA)并且确实not使后者(UNA)。

你应该明确地使个人与众不同。

在 Turtle 语法中,它应该如下所示:

:London owl:differentFrom :Paris .

or

[ rdf:type owl:AllDifferent ;
  owl:distinctMembers ( :Brussels :London :Ottawa :Paris :Rome :Washington )
] .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过计算属性来推断 OWL 中的知识 的相关文章

  • Protégé 中枚举的数据范围表达式

    我想将数据类型属性的范围定义为字符串的详尽枚举 这样个人只能将枚举中的一个字符串作为该属性的值 例如 名为 颜色 的数据类型属性只能采用 3 个值 红色 绿色 和 蓝色 我正在使用 OWL 2 和 Prot g 5 0 使用 Prot g
  • 类上的对象属性实例?

    举例来说 Food class Bread instance of Food Species class Animal class Horse class Unicorn instance 现在我需要能够设置 Bread gt eatabl
  • OWL 和 DL 推理:为什么爱欲不美丽?

    我创建了一个基于以下内容的本体 Every person is beautiful if one of his her parents is beautiful Aphrodite is a parent of Eros Aphrodite
  • 在类层次结构中查找公共超类和路径长度

    我有两个来自 DBpedia 的课程 A 和 B 如何计算每个类到公共超类 C 的距离 边数 以及如何找到这个公共超类 您可以这样做 但首先应注意以下几点 两个类可能有很多共同的超类 不一定只有一个 这意味着可能不存在唯一的最专业的公共超类
  • 如何使用对齐 API 创建对齐对象

    我有一个本地的alignment rdf文件并使用对齐 API 库here http alignapi gforge inria fr 我想创建Alignment对象并将其转换为 owl 文件 我的代码在这里 AlignmentParser
  • 如何使用现有本体从 XML 文件中提取 RDF 三元组?

    我正在尝试使用现有本体从 XML 文件中提取 RDF 三元组 我正在使用Java 并且可以使用XPath从XML和Jena中提取数据来读写RDF文档和本体 如何根据已有的本体从XML中提取相关的三元组 忘记使用 XPath 来提取三元组吧
  • Protege 中复杂类的推理

    我想做出这样的推论 比如图中灰色虚线代表的属性 我断言了一个普遍的公理 hasTaste some Bitter SubClassOf goesWellWith some hasTaste some Sweet 其中 bitter 是 Bi
  • 计算OWL本体中子类的深度

    我正在寻找一个 SPARQL 查询 它可以返回 OWL 层次结构中指定子类的位置 我研究了几个例子 但我能达到的最好结果是计算指定超类与其子类之间的相对路径 感谢约书亚 泰勒 https stackoverflow com a 230949
  • DatatypeProperty、ObjectProperty 和FunctionalProperty 之间有什么区别,什么时候应该使用它们?

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

    这里是 fusioni jena 的新手 我设法让 fusioni 使用 tdb1 与 OWLFBRuleReasoner 一起运行没有问题 但无法使其与 tdb2 一起工作 http jena apache org 2016 tdb ht
  • protege 中的自反属性

    This https ufile io rcv9m是我用 protege 5 创建的本体 如果我做cl1 and cl2不相交 那么本体是不一致的 但是如果我取消选中is friend of反身性的 本体论不再不一致 我的本体有什么问题吗
  • OWL 中表达式前面的列表?

    OWL 中表达式前面是否可以有一个列表 就像是 Dairy Egg Nut rdfs subClassOf FoodGroup or Dairy Egg Nut rdfs subClassOf FoodGroup 或者一般来说 是否存在针对
  • RDF和OWL工作流程问题

    我一直在通过 Protege 查看和使用 OWL 我想知道我是否正确理解 工作流程 和它的想法 从头开始构建数据库 使用 Protege 或等效工具为您的数据生成 OWL 本体 将此模式导出为 RDF 使用定义为三元组中的某些元素的类以及目
  • uml 与 RDF 和 OWL 的组合关系

    我是 RDF 和 OWL 本体的初学者 我正在尝试将此图转换为 OWL 语法
  • 如何推断两个人之间的财产是兄弟

    我需要推断一个人是另一个人的兄弟 如果他们有同一个父亲 所以 如果我有这个 巴特有父亲荷马 丽莎有父亲荷马 Because Bart and Lisa有同一个父亲 我想推断 丽莎有弟弟巴特 有没有什么方法可以利用任何属性特征来做到这一点 使
  • OWL ObjectProperty 在 Protégé 中作为注释加载

    我正在尝试加载ontology http www bbc co uk ontologies wildlife 2010 11 04 shtml在 Prot g 中 但未按预期进行处理 最有问题的是所有对象和数据属性都显示为注释而不是数据属性
  • rdf:seeAlso 和 rdfs:seeAlso 之间的区别

    有什么区别rdf seeAlso and rdfs seeAlso 当我可以使用时rdf seeAlso当我可以使用时rdfs seeAlso 你能举出一些例子吗 首先 请注意rdf and rdfs分别是常用于引用 RDF 语法和 RDF
  • SPARQL:如何将 owl:equivalentClass 传输到 rdfs:subClassOf (owl:Restriction) 属性?

    我的问题是关于使用 SPARQL 查询一些 owl 本体 其中owl Restrictions被大量使用 在我的例子中 这是 细胞本体论 http obofoundry org ontology cl html 以下是一些典型条目的示例 以
  • SHACL 规则中的多路径和存在量化(我应该使用 sh:oneOrMorePath 吗?)

    我想了解如何处理 SHACL 规则中的多路径和存在量化 让我用一个示例本体来举例说明我的问题 本体包括 Approve Legal Result Man 和 Machine 类 所有类都是不相交的 它有两个属性 has theme 和 co
  • 将 rdfs:range 的 xsd:string 限制为 [A-Z]

    如何将数据类型属性的范围指定为文字形式与 A Z 匹配的 xsd strings OWL 限制对我来说不起作用 至少乍一看是这样 有没有办法用正则表达式来做到这一点 如果有的话 在哪里 我想你的意思是 单个大写字母 string patte

随机推荐

  • 相机 2 CameraCharacteristics 似乎显示不正确的数据

    我已经下载并更改了 Google 的相机 2 基本版 https github com googlesamples android Camera2Basic例子 我的更改增加了对相机设备的迭代并显示了它们的一些特征 我创建了这个函数 pri
  • UIView 与 UIViewController

    好吧 我对 iPhone 开发真的很陌生 而且我已经了解了很多知识 我只需要帮助决定如何将这 4 6 张图片编程到我的项目中 我基本上想制作一本漫画书 用户能够从一张图片滑动到另一张图片 所有这些图片应该在 UIVIEW 还是 UIView
  • 为什么JSP文件不能超过64k

    当我编写 JSP 文件时 我收到错误 它不应超过 64 KB 然后我将代码分解到不同的文件 现在代码正在工作 为什么 JSP 存在这个限制 Java 对方法的大小有 64k 的限制 因此 当 jsp 转换为 jspService 方法时 如
  • 您知道针对多种编程语言的快速参考指南吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我的工作过程中 我维护多种编程语言的代码 如下所列 由于我还没有掌握其中的大部分内容 所以我一直忘记
  • GitHub 中的相关拉取请求是否可行?

    目前我正在处理一个非常大的拉取请求 为了以某种方式保持代码审查的可管理性 我们的想法是将完整的拉取请求分割成相互依赖的独立部分 一个例子是 拉取请求 1 创建接口 接口 A 和 B 并重构代码 拉取请求 2 接口 A 实现和测试 取决于拉取
  • 水平滚动图像列表

    我正在尝试创建一个水平滚动列表 当启用 Javascript 时 我将用一个奇特的版本替换它 但我希望标记和 css 在相当现代的浏览器上没有 Javascript 的情况下看起来和工作正常 任何以任何方式使用 Javascript 的建议
  • ADFS 2016、MVC 和 WEB.API 令牌和声明

    我目前正在开发一个带有 Web API 后端的 Net MVC 应用程序 这两个应用程序都使用 ADFS 2016 进行身份验证 Web API 本身按预期工作 但是我在 MVC 应用程序本身的 ADFS 配置方面遇到一些问题 基于本指南h
  • WP7 XNA 显示 3D FBX 模型

    我只是初学者 很抱歉我的愚蠢问题 我的模型看起来像这样 http img265 imageshack us img265 8291 clipboard01ap jpg http img265 imageshack us img265 829
  • 在 Python 3 中重新打开关闭的 stringIO 对象

    因此 我创建一个 StringIO 对象来将字符串视为文件 gt gt gt a Me you and them n gt gt gt import io gt gt gt f io StringIO a gt gt gt f read 1
  • 以编程方式退出应用程序的适当方法是什么?

    I am evaluating user inputs as commands for my application If the user presses Q or q and then hits enter the applicatio
  • 收到“无法检查可用内存”。在 Oracle DB 18c 上

    我正在尝试创建一个数据库以完成我的自学 但不幸的是我遇到了意外错误 无法检查可用内存 我正在使用数据库配置助手 DBCA 来完成此操作 我的Oracle数据库版本 添加以下参数来绕过错误 dbca J Doracle assistants
  • 加载图像停止问题

    我有窗户形式 我已经放入了一张加载图像PictureBox 当我加载表单时 我已经设置了 PictureBox1 Visible false 当我触发我设置的按钮的单击事件时 PictureBox1 Visible true 但在这种情况下
  • 静态常量和常量有什么区别?

    有什么区别static const and const 例如 static const int a 5 const int i 5 他们之间有什么区别吗 你什么时候会使用其中一种而不是另一种 static确定函数外部的可见性或内部变量的生命
  • JavaScript 对象的长度

    我有一个 JavaScript 对象 是否有内置或公认的最佳实践方法来获取该对象的长度 const myObject new Object myObject firstname Gareth myObject lastname Simpso
  • Firefox 11 调试器中的 firebug 1.9.1 不起作用

    当我激活脚本面板时 它显示 调试器未激活 但我无法在调试器上使 firebug 中断 或在断点处 我已经重新安装了插件 将其重置为默认设置 删除了 Firefox 配置文件 重新启动计算机 没有任何作用 这个版本一直有效 同样的事情也发生在
  • 使用Luigi,如何读取PostgreSQL数据,然后将这些数据传递到工作流程中的下一个任务?

    Using Luigi https github com spotify luigi 我想定义一个具有两个 阶段 的工作流程 第一个从 PostgreSQL 读取数据 第二个对数据做了一些事情 因此我从子类化开始luigi contrib
  • AttributeError:尝试使用 writerow 时“str”对象没有属性“keys”

    尝试写一个pythonscraper that scrapes从网页到csv文件的数据 如果删除 dataFrameCleaned cleanDataUp dataFrame 行 也尝试改变我编写 python 文件的方式 csvData
  • Node.js 中的每个请求日志记录

    我是一位经验丰富的 Java 开发人员 开始学习 Node js 并转向异步模型 除了日志记录之外 大多数事情都进展顺利 在使用 Express 在 Node js 中进行开发时 我在 Java 中找不到类似于 log4j 和 NDC 的任
  • React router v4 - 如何访问通过重定向传递的状态?

    我正在 React 的帮助下制作一个登录页面 当登录成功时 该页面会重定向到另一个页面 让我将登录成功时渲染的组件称为 A 我想将从数据库获取的数据传递给组件 A 我通过将其传递到 重定向 组件的 状态 属性来实现此目的 但是 我不明白如何
  • 通过计算属性来推断 OWL 中的知识

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