为什么不同的端点不查询相同的数据集?

时间:2018-01-12 15:36:37

标签: sparql endpoint

我想查询数据集,例如FOAF和DBPedia。目的是提出一些非常简单的要求,例如“马格利特画的哪些画作?”,“美国演员扮演的美国演员是谁?”......

所以我编写了查询,并使用DBpedia snorql来运行它们。然后,由于其他一些原因,我尝试Live DBpediaOpenLinks demo.openlinksw.com来发现根据端点结果不同。

以下是两个例子:

1)回答DBpedia SnorQL,但不是Live DBpedia,也不是 OpenLinks demo.openlinksw.com

#works of Magritte
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbp: <http://dbpedia.org/property/>

SELECT * WHERE {
?person a dbo:Artist .
?person foaf:surname "Magritte"@en .
?work dbo:author ?person .
OPTIONAL {?work dbp:year ?year ; dbo:museum ?museum .}
}
ORDER BY ?year

2)回答Live DBpedia,但没有DBpedia SnorQL,也没有 OpenLinks demo.openlinksw.com

来自Willem Robert van Hage R tutorial的#american演员

SELECT ?actor ?movie ?director ?movie_date
       WHERE {
       ?m dc:subject <http://dbpedia.org/resource/Category:American_films> .
       ?m rdfs:label ?movie .
       FILTER(LANG(?movie) = "en")
       ?m dbp:released ?movie_date .
       FILTER(DATATYPE(?movie_date) = xsd:date)
       ?m dbp:starring ?a .
       ?a rdfs:label ?actor .
       FILTER(LANG(?actor) = "en")
       ?m dbp:director ?d .
       ?d rdfs:label ?director .
       FILTER(LANG(?director) = "en")
       }
       LIMIT 1000

我认为端点只是一个查询数据集的工具,无论它是什么。所以我认为你可以从dbpedia,live dbpedia或 openlinks demo.openlinksw.com查询DBPedia和FOAF ..

我读到实际上不同的端点使用不同的数据集,但我无法理解为什么,因为您提供了特定的URI。

为什么同一查询根据SPARQL端点返回不同的结果?

1 个答案:

答案 0 :(得分:1)

非常类似于SQL DBMS的不同实例(例如[没有特定的顺序且没有代言的含义] OpenLink Virtuoso,Oracle,MySQL,Informix,SQL Server,Sybase,DB2,PostgreSQL,Ingres,Progress OpenEdge等等)保存不同的数据,RDF RDBMS的不同实例(读取:SPARQL端点),也称为Quadstores或Triplestores(例如[无特定顺序且不含有认可] OpenLink Virtuoso,AllegroGraph,Stardog,Neo4J,MarkLogic等等其他人持有不同的数据。

你不能通过DBMS B中的Fred数据库在DBMS A中查询Joe的数据库 - 除非有人已经告诉Fred的数据库和/或DBMS有关Joe的数据库和/或DBMS(例如,VDBMS功能),或者在查询中包含有关Joe的数据库和/或DBMS的一些信息(例如,SPARQL Federation)等。

(A&#34; DBMS&#34;是一个数据库管理系统,如上所列.A&#34;数据库&#34;是一组数据,通常存储在[大]文件中,这是由DBMS管理。)

与您的问题有关的特别注意事项 -

  • FOAF是一个本体,一个词汇表,用于描述实体。
  • DBpedia是一个数据集(随着时间推移有各种版本),一个项目,一个组织,以及其他各种事物(文字标识符的含糊不清!)。
  • OpenLink Software(不是&#34; openlinks&#34;)是一家生产OpenLink Virtuoso以及其他与数据相关的软件和服务,并在网络上提供多个实时终端的公司 - 包括the main DBpedia endpoint(ObDisclaimer:OpenLink Software也是我的雇主。)