你能解释一下rdfs:domain和rdfs:range之间的区别吗?什么时候我应该使用域名和范围?我读过h w3c rdf引物,但我不明白其中的区别
我一直在阅读有关语义Web技术,如RDF/RDFS和"本体",但是想知道每个技术是如何相关的?目前这些条款似乎都是可以互换的,或者我不是在理解这里的基本概念.
目前我正在试图找出,然后使用OWL,然后使用UML来描述软件工程过程中感兴趣的域.
我阅读了Atkinson的这篇论文,它非常好地概述了OWL和UML在语义和句法层面的差异和等同性.
但是,它没有提供一个明确的指示,在哪些用例中使用OWL而不是 - 例如 - 一个UML类图表可能更好.
它可能是底层开发过程,它决定了建模语言(例如模型驱动=去UML,本体驱动=去OWL),但对我自己来说,这个差异还不清楚吗?
在这两种语言中,我都可以建立一个术语,我作为本体工程师可以重复使用,以便从中推断出新的知识.作为软件工程师,我使用这个术语来构建(单个)系统.
那么OWL和UML之间的差异只是研究领域吗?或者我可以使用OWL来描述我的(单个)软件系统的构造吗?
而且,这就提出了一个问题,即选择哪种建模语言的决定只是由我试图实现的目标驱动的?
有没有人知道如何在Sparql中查询具有对象属性的类?假设我们有一个包含以下内容的OWL文件
Human ----(hasPizza)---> Pizzas
Run Code Online (Sandbox Code Playgroud)
人类和比萨饼是课程(或概念).在SPARQL中,此查询不返回任何内容:
select ?x ?y where {
?x hasPizza ?y
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我在这些概念下添加两个人(或实体),比如
Human:Jim ----(hasPizza)---> Pizzas:cheesePizza
Run Code Online (Sandbox Code Playgroud)
该查询将返回?x=Jim,?y=cheesePizza
如何获取?x=Human和?y=Pizza使用SPARQL?
我正在研究语义网,我想知道:写一个限制的语义是否有任何区别:
:Person
a owl:Class ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty :hasParent ;
owl:allValuesFrom :Person
] .
Run Code Online (Sandbox Code Playgroud)
并编写范围限制,如:
:hasParent rdfs:range :Person.
Run Code Online (Sandbox Code Playgroud)
在我看来,它意味着相同:父母必须有一种人.没有任何区别吗?
我想知道如何使用别名(“也称为”)查询维基数据。
现在我正在尝试
SELECT ?item
WHERE
{
?item rdfs:aliases ?alias.
FILTER(CONTAINS(?alias, "Angela Kasner"@en))
}
LIMIT 5
Run Code Online (Sandbox Code Playgroud)
如果我替换rdfs:aliases为,这只是一个有效的查询rdfs:labels。
我正在尝试这个,因为 Help: Aliases 说别名可以像标签一样搜索,但我找不到任何其他资源,也找不到示例。
我刚刚读到了关于RDF(资源描述框架)的蕴涵概念.任何人都可以告诉我两个RDF图的蕴涵示例并稍微解释一下.
谢谢
如果你看一下OWL本体定义,你会看到一堆类定义.其中之一是以下内容:
owl:Nothing a owl:Class ;
rdfs:label "Nothing" ;
rdfs:comment "This is the empty class." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf owl:Thing .
Run Code Online (Sandbox Code Playgroud)
这是否有用,如果是的话,它是什么?
我对OWL类和子类属性的继承感到困惑。一些帖子说OWL中没有继承(OWL:如何从超类继承两个类之间的属性关系?),http://answers.semanticweb.com/questions/619/rdfs-owl-inheritance-with -josekipellet)。但是,我也发现了一些相反的讨论。例如,“面向对象软件开发人员的语义Web入门”页面(https://www.w3.org/TR/sw-oosd-primer/)提到了面向对象语言OWL和RDF:“类可以安排在具有继承的子类层次结构中”(第3.3节)。https://www.w3.org/TR/rdf-schema/#ch_subclassof提到“属性rdfs:subClassOf是rdf:Property的一个实例,用于声明一个类的所有实例都是另一个类的实例。” 因此,这使我感到困惑。现在我有以下问题:
如果没有
考虑以下示例。“讲师”和“学生”的所有属性都可用于“人”类吗?
Example:
--------
### Classes ###
:CSModule rdf:type owl:Class ;
rdfs:subClassOf :Module .
:Lecturer rdf:type owl:Class ;
rdfs:subClassOf :Person .
:Student rdf:type owl:Class ;
rdfs:subClassOf :Person .
:Module rdf:type owl:Class .
:Person rdf:type owl:Class .
### Object Properties ###
:studies rdf:type owl:ObjectProperty ;
rdfs:domain :Student ;
rdfs:range :Module .
:teaches rdf:type owl:ObjectProperty ;
rdfs:domain :Lecturer ;
rdfs:range :Module .
### Data …Run Code Online (Sandbox Code Playgroud)