在Protege中的SPARQL中的简单请求

use*_*418 -1 semantic-web owl ontology sparql protege

可以smb帮助我使用SPARQL,因为我无法理解它的语法.

如何查看此本体的信息

https://www.dropbox.com/s/m25d6x3ej7ppjw4/MyProject.owl

我应该查看有关创建多个方法的作者的信息.

有关方法的信息,早于1900年创建

最后,"球体使用"的名称和球体中使用的方法.

如果有人可以通过简单的示例给出SPARQL语法的一些链接,或者可以解释我它是如何工作的,我会很高兴.

Jos*_*lor 5

你可以使用像这样的查询来查找多个方法的作者:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX : <http://www.semanticweb.org/vyacheslav/ontologies/2013/11/untitled-ontology-6#>

SELECT ?author (count(?method) as ?numMethods)
WHERE {
  ?method :hasAuthor ?author .
  ?author a :Author .
}
group by ?author
having (?numMethods > 1)
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

结果是Protégé

虽然有几个笔记.理想情况下,您需要指定该方法实际上是一种方法.首先,用单数形式的单词命名你的类通常是一个好主意,因为更自然地说单个方法"是一种方法"而不是"是一种方法".无论如何,由于该类被命名为Methods,因此将查询主体编写为

?method a :Methods .
?method :hasAuthor ?author .
?author a :Author .
Run Code Online (Sandbox Code Playgroud)

但是这不会工作,除非你有一个推理连接(这样被声明为方法的子类的成员个人也可以被推断为方法的成员).