我正在进行一些搜索,并且更多地了解SPARQL,但它并不像SQL那么简单.我只是想知道为什么我的查询重复结果以及如何修复它.这是我的SPARQL查询:
PREFIX OQ:<http://www.owl-ontologies.com/Ontology1364995044.owl#>
SELECT ?x ?ys ?z ?Souhaite
WHERE {
?y OQ:hasnameactivite ?x.
?y OQ:AttenduActivite ?Souhaite.
?y OQ:SavoirDeActivite ?z.
?y OQ:hasnamephase ?ys.
?y OQ:Activitepour ?v.
?ro OQ:hasnamerole ?nr.
?y OQ:avoirrole ?ro.
FILTER regex (?nr ,"Concepteur").
FILTER regex (?v,"Voiture").
}
Run Code Online (Sandbox Code Playgroud)
这给了我这些结果:
预期结果是:
我想通过提供向量以编程方式使用OWL生成本体.我的目标是能够在Protégé中打开生成的OWL文件并使用Jena.
输入向量
我想传递的向量:
[[layer, network layer, data link layer, physical layer], [network, computer network], [data link], [ontology, ontology extraction]].
预期输出
输出应具有以下树状层次结构:
layer
-network layer
-data link layer
-physical layer
network
-computer network
ontology
-ontology extraction
data link
Run Code Online (Sandbox Code Playgroud)
层次结构,在network layer
下面layer
等等,是非常重要的.
这是我想要生成的文件的示例:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Class rdf:about="#network"/>
<owl:Class rdf:about="#ontology"/>
<owl:Class rdf:about="#physical_layer">
<rdfs:subClassOf>
<owl:Class rdf:about="#layer"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="#data_link_layer">
<rdfs:subClassOf rdf:resource="#layer"/>
</owl:Class>
<owl:Class rdf:about="#network_layer">
<rdfs:subClassOf rdf:resource="#layer"/>
</owl:Class>
<owl:Class rdf:about="#computer_network">
<rdfs:subClassOf rdf:resource="#network"/>
</owl:Class>
<owl:Class rdf:about="#ontology_extraction">
<rdfs:subClassOf rdf:resource="#ontology"/>
</owl:Class> …
Run Code Online (Sandbox Code Playgroud) 我在 protege(4.3.0) 中创建了实体、类、对象属性和所有内容,但菜单中的启动推理器项目被禁用。我需要做任何事情来主动启动推理器吗?
上面的图片是我从您的网站获得的图片.
上面的SPARQL意味着找到Alice知道的任何人的名字
我想找到一个有一个foaf:mbox关系的人,但是没有关系'foaf:knows'可以SPARQL支持描述没有某种关系的东西的特征吗?
自从无法下载 Protege 4.3 的 Pellet 插件表明该版本不可用以来已经快一年了。有什么改变吗?
这是我的查询
PREFIX : <http://example.org/rs#>
select ?item (SUM(?similarity) as ?summedSimilarity)
(group_concat(distinct ?becauseOf ; separator = " , ") as ?reason) where
{
values ?x {:instance1}
{
?x ?p ?instance.
?item ?p ?instance.
?p :hasSimilarityValue ?similarity
bind (?p as ?becauseOf)
}
union
{
?x a ?class.
?item a ?class.
?class :hasSimilarityValue ?similarity
bind (?class as ?becauseOf)
}
filter (?x != ?item)
}
group by ?item
Run Code Online (Sandbox Code Playgroud)
在我的第一bind
个子句中,我不仅要绑定变量?p
,还要绑定变量?instance
。另外,添加像that is why
.
所以第一次绑定应该导致以下结果:
?p that is why ?instance …
OWL 公理表达式:
给出:猫头鹰:班级运动
输出:除了现有的 owl:object 属性之外,我还想将值为 Peter 的owl:object 属性player添加到 owl:class sport 类型的每个实例中。这意味着来自 owl:class sport 类型的每个个体都应该继承此对象属性,其值为 Peter。
我的第一个想法是用一般的类公理来表达它。在这里,我不太确定这是否a)可能,b)更好地使用 SPARQL 更新查询耶拿的实例来做到这一点。你会建议我做什么?这样一个通用的类公理会是什么样子,例如猫头鹰曼彻斯特语法
我的问题是在开发本体时是否必须遵循任何本体方法?
按照我的理解:
请逐点评论/指导我。谢谢。
给定以下三元组,域和范围是并集、交集还是其他?
<http://www.stackoverflow.com/questions/ask> rdfs:domain <http://stackoverflow.com/questions/tagged/rdf> .
<http://www.stackoverflow.com/questions/ask> rdfs:domain <http://stackoverflow.com/questions/tagged/owl> .
<http://www.stackoverflow.com/questions/ask> rdfs:domain <https://www.w3.org/TR/owl-ref/#Boolean> .
<http://www.stackoverflow.com/questions/ask> rdfs:range <http://stackoverflow.com/questions/tagged/rdf> .
<http://www.stackoverflow.com/questions/ask> rdfs:range <http://stackoverflow.com/questions/tagged/owl> .
<http://www.stackoverflow.com/questions/ask> rdfs:range <https://www.w3.org/TR/owl-ref/#Boolean> .
Run Code Online (Sandbox Code Playgroud)
换句话说,http://www.stackoverflow.com/questions/ask
谓词是否具有三个域、三个范围,并且可以推断出任何有效的 域-范围配对?
当属性 P 具有多个
rdfs:domain
属性时,则由带有谓词 P 的三元组的主语表示的资源是属性所声明的所有类的实例rdfs:domain
。当 P 具有多个
rdfs:range
属性时,则具有谓词 P 的三元组的对象所表示的资源是属性所声明的所有类的实例rdfs:range
。
我想对Person
采用givenName
type 数据属性的类进行建模xsd:string
。maxLength=50
如何指定仅适用于类的此属性(例如)的长度限制Person
?例如,我想允许其他类使用相同的属性并选择不同的值进行限制。
owl ×10
rdf ×6
protege ×4
semantic-web ×4
ontology ×3
sparql ×3
jena ×2
protege4 ×2
java ×1
methodology ×1
pellet ×1
relationship ×1
set-union ×1