问题标签 [manchester-syntax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1785 浏览

conditional-statements - Protege-OWL:类必须各有一个

我是新手,我必须使用曼彻斯特 OWL 语法为具有与 soduku 相似属性的网格建模。

我一直在搜索,但似乎找不到一种方法来制定一个公理,即“每列必须有 4 个单元格,并且必须具有这些值中的每一个”。如,假设一个 4x1 列,每个单元格必须包含一个数字,并且该列必须包含所有数字 [1:4]。

我已经设置了一些 Objects 、 data 属性和 Object 属性,我将在这里留下。我将把完整的 .owl 文件留在这里,以便可以加载它,从而更容易提供帮助。

高度赞赏所有帮助。

编辑:这一点是当我运行推理器时,某些单元格的值,它将推断其他单元格的值。例如:cell1 = 1, cell2 =2, cell3 = 3 => 推理器将推断 cell4 的值为 4。

0 投票
1 回答
2271 浏览

xsd - Protégé data时间限制

我有一个带有域 Show 和 range 的数据属性 ShowTime xsd:dateTime。我想知道是否有办法断言 dataTime 范围必须包含在“2018-01-01TX:X:X”中,以便在该日期有一个固定的日期和一个可变的小时。

我试过曼彻斯特语法:

但是告诉我语法不正确。

PS我正在使用HermiT。

有人能帮我吗?谢谢。

已编辑

具体例子。假设我们有一个Show类,它代表了电影放映的概念。每个节目都有日期和开始时间。因此,我们可以通过showDateTime具有域Show和范围的数据属性xsd:dateTime(例如“2018-01-16T18:00:00”)简单地表示这些信息。

问题是我需要仅根据开始时间对每天的时间段(早上、下午、傍晚、深夜)中的每个节目进行分类。我尝试了 SWRL,财产限制......我还没有找到一种方法来告诉推理者不要考虑日期,这显然优先于时间并且把我搞砸了。

因此,我想将日期和时间分成两个单独的属性(showDateshowTime),始终为 xsd:dateTime 类型,并限制将其showTime绑定为具有固定日期(例如 2018-01-01)。通过这种方式,我可以将 MorningShow 类定义如下:

这就是我提出问题的原因。

0 投票
0 回答
365 浏览

python - python:将曼彻斯特语法中的owl文件解析为owlready

是否可以解析以曼彻斯特语法给出的本体,使其最终成为owlready的本体对象。

这是我到目前为止发现的:

  • Owlready 本身只能导入“NTriples、RDF/XML 或 OWL/XML 格式”(ref1)。

  • Ontospy可以(除其他外)在这些格式之间进行转换:(['xml', 'turtle', 'n3', 'nt', 'trix', 'rdfa']ref2

  • rdflib有一个功能rdflib.extras.infixowl.manchesterSyntax(...),但似乎没有很好地记录,似乎不适用于整个文件(或str多个语句)。

是否还有其他我遗漏的项目,或者是否有一种简单的方法可以组合(一些)这些项目以将曼彻斯特语法中的 owl 文件解析为 owlready 本体?

0 投票
0 回答
56 浏览

excel - 使用 Cellfie 从 Excel 获取 Protege DataProperty 整数值的问题

我正在使用 Protégé 的 Cellfie 插件从科学文章的 Excel 数据库创建本体论个体。当我尝试将整数值分配给范围为 xsd:integer 的属性“具有整数值”时遇到问题。实际上,正在分配属性但没有 ^^xsd:integer 类型规范,因此推理器失败,因为这些值未被识别为整数。我正在使用这个曼彻斯特语法代码,它不会导致任何错误,但是赋予属性的值没有在 Protégé 本体中声明为整数:

个人:@B*

类型:“出版年”

事实:'具有整数值'@B*(xsd:integer)

Excel 的 B 列全是整数(年)。如果我尝试使用 xsd:string,则属性具有正确的类型声明 ^^xsd:string,但如果我尝试使用 xsd:integer,则会创建公理而忽略类型声明。

0 投票
0 回答
74 浏览

ontology - 使用 HermiT 推理器和 OWLAPI 执行 DL 查询的问题?

我正在使用 OWLAPI 5.1.9 和 HermiT 1.4.5.519 以便在本体上自动生成一些 DL。我使用了https://github.com/phillord/owl-api/blob/master/contract/src/test/java/org/coode/owlapi/examples/DLQueryExample.java上的示例代码 DLQueryExample刚刚修改为使用隐士推理者。

HermiT 推理器至少似乎可以工作,但是如果我引入本体的类名,则会显示此错误:

线程“main” org.semanticweb.owlapi.manchestersyntax.renderer.ParserException 中的异常:在第 1 行第 1 列遇到质量。预期其中之一:类名称对象属性名称数据属性名称反转不是({

DL 查询的语法是否与 Protégé 中使用的相同?

0 投票
1 回答
60 浏览

java - 曼彻斯特语法中的 ParserException

我尝试使用来自 OWL-API 的 ManchesterOWLSyntaxParser。我需要将曼彻斯特语法中的 String 转换为 OWL Axiom,我可以将其添加到现有的本体中。问题是,我总是得到 Parser Exception(如下所示):

我在 w3c 网站上阅读了有关曼彻斯特语法的信息,但我不知道问题出在哪里。也许曼彻斯特解析器应该以不同的方式使用。

我试图解析的曼彻斯特语法中的字符串示例代码。

0 投票
1 回答
43 浏览

owl - 在类表达式中选择属性右侧的个体

找不到我的问题的答案:
假设我有一个属性“有”和两个不同类别 A 和 B的个体。
我们定义个体 A“有”B。
个体 B 没有任何信息被A定义为属性“has”的目标。
如何定义一个类来捕获“has”右侧的所有个体?