为什么在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)
你可以解释它什么时候A和B等同的,当它们是不相交的时候?
什么是意义owl:hasValue的限制,以及它是如何从不同的owl:allValuesFrom和owl:someValuesFrom?
在本体论中,我想写一个公理,上面写着"每个拥有文凭的人都有文化."我怎么写这个?
假设我有以下数据集:
:a rdf:type :AClass
:a :hasName "a"^^xsd:string
:a :hasProperty :xa
:a :hasProperty :ya
:a :hasProperty :za
:b rdf:type :AClass
:b :hasName "b"^^xsd:string
:b :hasProperty :xb
:b :hasProperty :yb
:c rdf:type :AClass
:c :hasName "c"^^xsd:string
:c :hasProperty :xc
Run Code Online (Sandbox Code Playgroud)
我想查询数据集以返回实例的所有内容:AClass,但仅限于两个实例.我知道我必须使用LIMIT关键字,我已经尝试了很多查询但没有成功.
换句话说,我想回到这个:
:a :hasName "a"^^xsd:string
:a :hasProperty :xa
:a :hasProperty :ya
:a :hasProperty :za
:b :hasName "b"^^xsd:string
:b :hasProperty :xb
:b :hasProperty :yb
Run Code Online (Sandbox Code Playgroud)
如何将结果限制为2个实例的数量而不是2个数量?
如何在Java中使用owlapi找到所有已定义的类?我知道不推荐使用的getClassesInSignature方法,但是文档(JavaDocs)缺少方面,应该使用什么代替?
我正在尝试使用Protege创建一个OWL本体.我想使用反函数属性作为关系数据库中主键的相似性.例如,我有一个属性,它具有唯一的id作为对象,因此标识实体,不允许其他实体将该值与该属性一起使用.
由于对象值是字符串,因此它必须是数据属性.但是在Protege中,您无法将反向功能特性分配给数据属性.
为什么我不能宣布一个数据属性是一个反函数性质,我应该怎么回事打造的" 唯一密钥 "的逻辑,如果不是这样?
先谢谢你,
弗兰克
我正在尝试编写一个SPIN规则,它将计算传入引用的数量并将此数字设置为属性值.例如,计算特定计算机上发生的问题数.因此,我需要计算类型的传入引用数rdfs:occuredOn(domain:Issue,range:Machine).
CONSTRUCT {
?machine rdfs:numberOfIssues ?n .
}
WHERE {
?machine a ex:Machine .
?issue a ex:Issue .
?issue ?r ?machine .
(COUNT(?r) AS ?n) //Error
}
Run Code Online (Sandbox Code Playgroud)
先感谢您!
在OWL 2的规范中,关键公理的部分说明:
关键公理的语义是特定的,因为这些公理仅适用于通过名称在本体中明确引入的个体,而不适用于未命名的个体(即存在通过存在量化暗示存在的个体).这使得关键公理等同于DL安全规则的变体.因此,关键公理通常不会影响基于类的推理,例如包含层次结构的计算,但它们将在回答关于个体的查询中起作用.
然后它继续显示一组公理的例子,这些公理显然需要得出结论,但由于该规则,规范不承认.
这个决定背后的原因是什么?
OWL是否可能对语言属性具有最大基数限制,这将限制每种语言的基数。
例如,我只希望dct:title每种语言最多一种。所以,
:demo dct:title "Demo"@en, "Demo"@nl.
Run Code Online (Sandbox Code Playgroud)
可以,但是
:bad_demo dct:title "Bad demo"@en, "Wrong demo"@en.
Run Code Online (Sandbox Code Playgroud)
会给一个错误?
假设我正在创建车辆本体。车辆及其制造商通过诸如此类的连接MyCar hasManufacturer Tesla。然后,制造商有一个原产国,我将其指定为Tesla hasCountryOfOrigin USA。我要的是运行我的推理机时MyCar要连接的USA,MyCar hasCountryOfOrigin USA。我知道这与传递财产不同。我该如何实现?(专门使用Protege)
owl ×10
semantic-web ×6
ontology ×4
rdf ×4
protege ×3
sparql ×2
java ×1
modeling ×1
owl-api ×1
properties ×1
rdfs ×1
sesame ×1
stream ×1
triplestore ×1