Java のリソースから URI を取得しようとしていますが、常にnull
. 今、私はこれを試しています:
for ( ; rs.hasNext() ; ) {
QuerySolution qs = rs.next();
System.out.println( qs.getLiteral("label"));
System.out.println( qs.getResource("label"));
…
リテラルは問題なく返されます。リソース「?film」も試しましたが、それでもリソースは null です。これが私のSPARQLクエリです:
PREFIX mdb: <http://data.linkedmdb.org/resource/movie/film>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?label ?film where {
?film mdb:id ?uri .
?film rdfs:label ?label .
filter regex(?label, + queryVar +
}
queryVar
「Batman」などの単なるユーザー入力です。
編集:クエリにタイプミスがありました:これは私のクエリでした:
String sparqlQuery = "PREFIX mdb: http://data.linkedmdb.org/resource/movie/film " + "PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# " + "select ?label ?film" + "where " + "{ ?film mdb:id ?uri ." + "?film rdfs:label ?label . " + " }" + "";
?film をよく見ると、それらが filmwhere になる、それが問題です。
ジョシュアのおかげで、私はそれを理解しました。