对于第一个端点,您的意思是http://lod.openlinksw.com/sparql吗?我没有看到它和http://dbpedia.org/sparql之间的不同结果。例如,这个查询,扩展你的,似乎从两个端点返回相同的东西(如果它们确实是不同的服务器;我不知道)。
prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix category: <http://dbpedia.org/resource/Category:>
prefix dbpedia2: <http://dbpedia.org/property/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?airdate ?chalkboard_gag ?episode
WHERE {
?episode skos:subject ?cat .
?cat skos:broader category:The_Simpsons_episodes .
?episode dbpedia2:airdate ?airdate .
?episode dbpedia2:blackboard ?chalkboard_gag .
FILTER langMatches( lang(?chalkboard_gag), 'en') .
FILTER xsd:dateTime(?airdate)
}
ORDER BY ?airdate
我知道会产生不同结果的一件事是查询超时。Virtuoso 可以在查询运行一定时间后切断查询,并且您的不同端点在您尝试它们时可能处于不同的负载下,和/或配置了不同的超时。
我注意到,如果这些数据在Needle中,并且在 Thread 而不是 SPARQL 中查询,那么这个查询可能很简单:
Episode:(.Subject:<~The Simpsons)^Airdate|Airdate,Blackboard
除了在 Needle 中,您实际上可能会像电视节目一样为电视节目建模,而不是依赖于通用 SKOS 主题/更广泛的抽象级别,因此实际上可能有:
Show:=The Simpsons.Season.Episode|Airdate,Blackboard