您构建的查询如下所示,除了可以使用 Jena 的命令行工具以独立方式运行以下内容,因为我service
在查询中使用了 a。
PREFIX mdb: <http://data.linkedmdb.org/resource/movie/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?director where {
service <http://linkedmdb.org/sparql> {
?director mdb:director_name ?value ;
rdfs:label ?label .
}
}
limit 20
当我使用命令行工具运行它时,这些是结果(data.n3
是一个空文件,因为arq
需要一个--data
参数,但service
确保数据来自远程端点):
$ arq --data data.n3 --query query.sparql
----------------------------------------------------
| director |
====================================================
| <http://data.linkedmdb.org/resource/director/1> |
| <http://data.linkedmdb.org/resource/director/2> |
| <http://data.linkedmdb.org/resource/director/3> |
| <http://data.linkedmdb.org/resource/director/4> |
| <http://data.linkedmdb.org/resource/director/5> |
| <http://data.linkedmdb.org/resource/director/6> |
| <http://data.linkedmdb.org/resource/director/7> |
| <http://data.linkedmdb.org/resource/director/8> |
| <http://data.linkedmdb.org/resource/director/9> |
| <http://data.linkedmdb.org/resource/director/10> |
| <http://data.linkedmdb.org/resource/director/11> |
| <http://data.linkedmdb.org/resource/director/12> |
| <http://data.linkedmdb.org/resource/director/13> |
| <http://data.linkedmdb.org/resource/director/14> |
| <http://data.linkedmdb.org/resource/director/15> |
| <http://data.linkedmdb.org/resource/director/16> |
| <http://data.linkedmdb.org/resource/director/17> |
| <http://data.linkedmdb.org/resource/director/18> |
| <http://data.linkedmdb.org/resource/director/20> |
| <http://data.linkedmdb.org/resource/director/21> |
----------------------------------------------------
请注意,您已投影?director
,但未投影?value
或?label
。因此,?value
当你这样做时没有变量绑定:
Literal value = soln.getLiteral("value");
System.out.println(value);
你得到一个null
结果。您可能能够使用QuerySolution.contains
. 您需要做的就是将您的查询更新为
select ?director ?value where { # you probably want ?label in here, too
甚至
select * where { # this would get all three variables
就足够了。一旦你选择了所有三个变量,你应该得到如下结果:
-------------------------------------------------------------------------------------------------------------
| director | value | label |
=============================================================================================================
| <http://data.linkedmdb.org/resource/director/1> | "Chris Morris" | "Chris Morris (Director)" |
| <http://data.linkedmdb.org/resource/director/2> | "Cecil B. DeMille" | "Cecil B. DeMille (Director)" |
| <http://data.linkedmdb.org/resource/director/3> | "Michael Mann" | "Michael Mann (Director)" |
| <http://data.linkedmdb.org/resource/director/4> | "Mustafa Altıoklar" | "Mustafa Altıoklar (Director)" |
| <http://data.linkedmdb.org/resource/director/5> | "Robert J. Flaherty" | "Robert J. Flaherty (Director)" |
| <http://data.linkedmdb.org/resource/director/6> | "Rex Ingram" | "Rex Ingram (Director)" |
| <http://data.linkedmdb.org/resource/director/7> | "William Dickson" | "William Dickson (Director)" |
| <http://data.linkedmdb.org/resource/director/8> | "Andrzej Å»uÅawski" | "Andrzej Å»uÅawski (Director)" |
| <http://data.linkedmdb.org/resource/director/9> | "Max Reinhardt" | "Max Reinhardt (Director)" |
| <http://data.linkedmdb.org/resource/director/10> | "Willis O'Brien" | "Willis O'Brien (Director)" |
| <http://data.linkedmdb.org/resource/director/11> | "Frank Miller" | "Frank Miller (Director)" |
| <http://data.linkedmdb.org/resource/director/12> | "David Byrne" | "David Byrne (Director)" |
| <http://data.linkedmdb.org/resource/director/13> | "John G. Avildsen" | "John G. Avildsen (Director)" |
| <http://data.linkedmdb.org/resource/director/14> | "Leslie Howard" | "Leslie Howard (Director)" |
| <http://data.linkedmdb.org/resource/director/15> | "John Hughes" | "John Hughes (Director)" |
| <http://data.linkedmdb.org/resource/director/16> | "Karl Koch" | "Karl Koch (Director)" |
| <http://data.linkedmdb.org/resource/director/17> | "George Miller" | "George Miller (Director)" |
| <http://data.linkedmdb.org/resource/director/18> | "Michael Powell" | "Michael Powell (Director)" |
| <http://data.linkedmdb.org/resource/director/20> | "Joseph De Grasse" | "Joseph De Grasse (Director)" |
| <http://data.linkedmdb.org/resource/director/21> | "Yamanaka Sadao" | "Yamanaka Sadao (Director)" |
-------------------------------------------------------------------------------------------------------------