0

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 になる、それが問題です。

ジョシュアのおかげで、私はそれを理解しました。

4

1 に答える 1