通过计算属性来推断 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 中的知识 的相关文章

  • dbpedia 获取英语以外语言的实体

    我正在尝试使用 sparql 从 dbpedia 中提取包含人名等的实体字典 PREFIX owl
  • 本体中实体的排序

    我有一个系统 可以在本体 通常的三重存储 中对一些领域数据进行建模 我一直在寻找一种表达复数和排序的方法 但没有通过谷歌找到任何东西 我的主要用例是 域中的一个实体可以是一系列任务 买杂货 做饭 吃饭等 但总的来说 我觉得有能力 衡量 你的
  • 有限制的 OWL 类型推断

    我正在使用 FaCT 和一个简单的本体研究 Protege 4 的 OWL 限制概念 假设我有一个人foo班级的Something Something a owl Class foo a Something owl NamedIndivid
  • 如何将类的每个实例与另一个类的每个实例关联起来?

    一般问题 我正在研究一个简单的本体 使用 Prot g 4 3 并尝试创建一个模型 以便类的每个实例C有一些特殊的价值v 这是一个类的实例V 对于给定的属性p 我可以使用公理得到这个推论 C 子类 p value v 但我想我希望能够更进一
  • OWL2 使用一个不同的公理对子类进行建模

    我正在尝试使用 OWL 2 DL 使用 Protege 对一些词汇数据进行建模 我的主类是 Lemma 它有许多公理 使用曼彻斯特语法 Every Lemma hasLanguage some Language Every Lemma ha
  • 语义 Web 应用程序 - 使用 BBC Sports 本体

    我正在尝试制作一个关于我所在地区跑步比赛 10k 半程马拉松 马拉松 的语义 Web 应用程序 更具体地说 我想收集和发布 在 RDF 中 有关比赛 参与者和结果的数据 并合并类似的数据 在过去的几周里 我一直在测试 Jena 包括 TDB
  • 如何强制一个类恰好具有给定属性之一

    我有一个 Person 类和一组数据属性 First Name Surname Gender DoB Country of Birth 数据属性的 Domains 设置为 Person 我想在我的本体论中建立一条规则 规定每个人must恰好
  • 无法使用 Jena 写入大型 owl 文件

    我正在尝试将数据库表中包含的数据转换为一组三元组 因此我正在使用 Jena java 库编写一个 owl 文件 我已经成功地使用少量表记录 100 完成了此操作 这些记录对应于 owl 文件中的近 20 000 行 我对此感到满意 为了编写
  • 如何使用 Jena RDF/Ontology API 以编程方式计算路径长度?

    我有一个 RDF 图 所有类之间只有一种关系 RDFS subClassOf 或 is a 每个类的 大小 等于其子类的总数 如果每个 RDFS subClassOf 属性从子类总数较少的类连接 则每个 RDFS subClassOf 属性
  • 从 xml 文件中提取信息作为 RDF 三元组

    任何人都可以推荐一个教程或告诉我如何构建一个 java 程序来从 xml 文件中提取信息并使用现有本体生成 RDF 三元组的输出 一个例子真的很有帮助 Thanks 有现成的工具可以解决这个问题 例如XSPARQL http xsparql
  • 在类层次结构中查找公共超类和路径长度

    我有两个来自 DBpedia 的课程 A 和 B 如何计算每个类到公共超类 C 的距离 边数 以及如何找到这个公共超类 您可以这样做 但首先应注意以下几点 两个类可能有很多共同的超类 不一定只有一个 这意味着可能不存在唯一的最专业的公共超类
  • RDF 词汇表如何指定属性类别(来自“Data Primer 中的 URL”)?

    The W3C TAG http www w3 org 2001 tag 发布工作草案数据入门中的 URL http www w3 org TR urls in data 上个月 它指定了一个解决方案httpRange 14 问题 http
  • OWL/XML 读取问题

    我在使用 Jena 从 Java 读取 OWL XML 文件时遇到问题 我读取 RDF XML 文件没有问题 但每当我从 Protege 创建 OWL XML 文件并尝试读取它时 Java 都会给出以下错误 警告 主要 RDFDefault
  • Protege 中复杂类的推理

    我想做出这样的推论 比如图中灰色虚线代表的属性 我断言了一个普遍的公理 hasTaste some Bitter SubClassOf goesWellWith some hasTaste some Sweet 其中 bitter 是 Bi
  • RDF和OWL工作流程问题

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

    在使用 Jena 的 SPARQL 查询时 我试图以更易读的格式获取数据 但是我不知道如何以正确的方式提取数据 就目前而言 输出是 http www w3 org TR 2003 PR owl guide 20031209 wine Sau
  • 在构建语义 Web 应用程序时,OWL 是如何实际使用的?

    我一直在阅读有关语义 Web 技术 例如 RDF 和 OWL 的内容 并且对在现有关系数据库之上构建 RDF 三重存储语义数据库的可能性很感兴趣 这只是一项研发活动 看看我能做什么 我喜欢的样子OWLIM http www ontotext
  • 如何找到文本所涉及的 wikidata(或 freebase 或 DBpedia)主题列表?

    我正在寻找一种解决方案来提取文本 或 html 文档所涉及的概念列表 我希望这些概念成为 wikidata 主题 或 freebase 或 DBpedia 例如 Bad 是迈克尔 杰克逊的歌曲 应该返回 Michael Jackson 艺术
  • 什么是适合 .net 的优秀 RDF 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以处理 RDF 和 OWL 数据的库 到目前为止我已经发现 semweb http razor occams info c
  • 我们可以在 OWL 限制中使用 owl:sameAs 吗?

    例如 我有三个类 Flock Bird Velocity 我还有两个属性 hasMember 域是 Flock 范围是 Bird 和 hasAttribute 域是 Bird 范围是 Velocity 现在我想为 Flock 类添加一个 E

随机推荐

  • 相机 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 类 如果人们去过两个或更多城市 那么他们就是世界旅行者 我怎样才能在我的本体中做到