标签: manchester-syntax

Protege-OWL:Class必须具有每个<value>中的一个

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

我一直在寻找,但我似乎无法找到一种方法来制作一个公理,说"每列必须有4个单元格,并且必须具有这些值中的每一个".如在,假设4x1列,每个单元格必须包含一个数字,列必须包含所有数字[1:4].

我已经设置了一些对象,数据属性和对象属性,我将在这里留下.我将完整的.owl文件留在这里,以便可以加载,从而更容易提供帮助.

所有帮助都非常感谢.

Prefix: dc: <http://purl.org/dc/elements/1.1/>
Prefix: owl: <http://www.w3.org/2002/07/owl#>
Prefix: rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
Prefix: rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Prefix: GridTest: <http://www.semanticweb.org/existance/ontologies/2017/4/GridTest#>
Prefix: xml: <http://www.w3.org/XML/1998/namespace>
Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>



Ontology: <http://www.semanticweb.org/existance/ontologies/2017/4/GridTest>


Datatype: xsd:int


Datatype: xsd:integer


ObjectProperty: GridTest:hasCell

    SubPropertyOf: 
        GridTest:hasRelation

    Domain: 
        GridTest:Grid

    InverseOf: 
        GridTest:isCellOf


ObjectProperty: GridTest:hasColum

    SubPropertyOf: 
        GridTest:hasRelation

    Domain: 
        GridTest:Grid

    Range: 
        GridTest:Grid

    InverseOf: 
        GridTest:isColumOf


ObjectProperty: GridTest:hasRelation


ObjectProperty: GridTest:isCellOf

    InverseOf: 
        GridTest:hasCell


ObjectProperty: GridTest:isColumOf

    InverseOf: 
        GridTest:hasColum


DataProperty: GridTest:hasValue

    Characteristics: 
        Functional

    Domain: 
        GridTest:Cell

    Range: 
        {"1"^^xsd:int , "2"^^xsd:int , "3"^^xsd:int , "4"^^xsd:int}


Class: GridTest:Cell

    SubClassOf: 
        GridTest:Grid,
        GridTest:hasValue exactly 1 …
Run Code Online (Sandbox Code Playgroud)

owl manchester-syntax protege conditional-statements

7
推荐指数
1
解决办法
988
查看次数

如何在DL Manchester OWL语法中查询个人?

我知道这听起来像一个非常愚蠢的问题,但我一直试图解决这个问题,但我找不到任何相关内容,尽管这显然应该是可行的.

我正在开发一些使用曼彻斯特OWL语法和HermiT推理器通过其API查询OWL文件的东西.我也可以在Protege 4的DL Query选项卡上运行查询,以检查我在该文件上的查询结果.该文件基本上是添加数据实例的朋友之友(FOAF)本体.

问题:我找不到通过其唯一标识符查询实例的方法.

它应该是URI,所以例如对于具有URI的Person对象 http://xmlns.com/foaf/0.1/Andrew_Kuchling,我试图运行以下查询:

Person and URI value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"

Person value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"

Person and URI value "Andrew_Kuchling"

Person that "Andrew_Kuchling"
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.(URI是通过http://xmlns.com/foaf/0.1/为您输入的任何字符串添加前缀来构造的,并且URI实际上并未在本体中标识为属性).

在FOAF中,mbox_sha1sum是邮箱的sha1sum.邮箱与个人有着独特的联系.所以我尝试了以下查询:

Person and mbox_sha1sum value "mbox_sha1sum-property-value-here"
Run Code Online (Sandbox Code Playgroud)

但是,它甚至不执行此查询,因为它感觉查询不正确.该mbox_sha1sum值与我为此Person添加的值相同.它存在于个人中.

它确实执行此查询:

Person and firstName value "Andrew"
Run Code Online (Sandbox Code Playgroud)

所有数据属性都不是专用数据类型.默认情况下作为文字处理.

我真的不知道我做错了什么.请有人请帮忙吗?

uri foaf dlquery manchester-syntax

7
推荐指数
1
解决办法
1900
查看次数

具有确切基数的财产是否具有功能性?

在OWL-DL本体中,考虑具有域D和范围R的属性p,其中Dp的限制具有恰好为1的基数:

d SubClassOf p 恰好 1个事

  • (D⊑= 1 p.Thing)

那么我们可以推断p是一个函数属性,因为D类型中的每个d都只有p的一个值吗?如果这是正确的,推理人可以推断出这种知识吗?

semantic-web owl manchester-syntax protege description-logic

4
推荐指数
1
解决办法
298
查看次数

OWL中的奇怪查询行为!

在OWL中,此查询工作正常

"person and hasChild min 3"
Run Code Online (Sandbox Code Playgroud)

它工作正常,它给了我所有超过3个孩子的人

但是这个不起作用

"person and hasChild max 3"
Run Code Online (Sandbox Code Playgroud)

它应该给我所有少于3个孩子的人,但它不起作用

有没有人对此有所了解?

为什么"min"工作,而"max"没有给出任何结果!??

谢谢

semantic-web owl dlquery manchester-syntax

3
推荐指数
1
解决办法
268
查看次数

OWL限制中的枚举

我试图使用Protege3.x在本体中添加属性限制.

我在指定限制内​​的枚举时遇到问题.例如,尝试指定枚举以这种方式限制可能的数据元素:

在此输入图像描述

它将整个表达式视为单个字符串:

在此输入图像描述

在另一个例子中,我试图通过使用多个表达式和它们之间的"或"来解决问题,这似乎是合适的.但在前一个版本中,不允许使用"或".

在此输入图像描述

如何使用枚举来满足这种需求?谢谢!

owl ontology manchester-syntax protege

2
推荐指数
1
解决办法
1119
查看次数

OWL确切基数限制的含义

我是针对OWL曼彻斯特语法的新手编码.我需要了解其作用exactly.以下哪些限制是正确的:

(hasChild (A or B)) and (hasChild exactly 1 Thing)
(hasChild (A or B)) and (hasChild exactly 2 Thing)
(hasChild (A and B)) and (hasChild exactly 1 Thing)
(hasChild (A and B)) and (hasChild exactly 2 Thing)
Run Code Online (Sandbox Code Playgroud)

你可以解释它什么时候AB等同的,当它们是不相交的时候?

owl manchester-syntax protege

1
推荐指数
1
解决办法
8148
查看次数

通用类公理

OWL 公理表达式:

给出:猫头鹰:班级运动

输出:除了现有的 owl:object 属性之外,我还想将值为 Peter 的owl:object 属性player添加到 owl:class sport 类型的每个实例中。这意味着来自 owl:class sport 类型的每个个体都应该继承此对象属性,其值为 Peter。

我的第一个想法是用一般的类公理来表达它。在这里,我不太确定这是否a)可能,b)更好地使用 SPARQL 更新查询耶拿的实例来做到这一点。你会建议我做什么?这样一个通用的类公理会是什么样子,例如猫头鹰曼彻斯特语法

rdf owl manchester-syntax protege

1
推荐指数
1
解决办法
1051
查看次数