PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX drugbank: <http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugbank/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT distinct ?resource WHERE { ?resource dcterms:identifier "drugbank:DB01051"^^xsd:string}
しかし、私は結果をjavaで取得しようとし、同じクエリで結果を返しません。 Javaコードは次のとおりです。
import java.io.IOException;
import org.apache.jena.query.ParameterizedSparqlString;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.ResultSetFactory;
import org.apache.jena.query.ResultSetFormatter;
import org.apache.jena.query.ResultSetRewindable;
public class DrugbankResourceProperty {
public static void main(String[] args) throws IOException {
ParameterizedSparqlString pss = new ParameterizedSparqlString(""
+ "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
+ "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
+ "PREFIX dcterms: <http://purl.org/dc/terms/>\n"
+ "PREFIX drugbank: <http://www4.wiwiss.fu-berlin.de/drugbank/resource/drugbank/>"
+ "\n"
+ "SELECT distinct ?resource WHERE { ?resource dcterms:identifier \"drugbank:DB01051\"^^xsd:string}");
QueryExecution exec = QueryExecutionFactory.sparqlService("http://drugbank.bio2rdf.org/sparql", pss.asQuery());
ResultSetRewindable results = ResultSetFactory.makeRewindable(exec.execSelect());
while (results.hasNext()) {
System.out.println(ResultSetFormatter.asText(results));
}
}
}
私は最初の実行後に「XSD」と「drugbank」接頭辞を追加し、それが原因でこれらの不足している接頭辞を返しませんと思いました。しかし、それ以降はまだ動作していません。結果が返ってこない理由は分かりません。可能であれば、私が間違っている箇所を教えてください。あなたの助けが大変ありがとう!
'JenaRuntime.isRdf11 =偽; '古い行動に変わります – RobV
はい、私はそれを理解しました。良い説明のために@AKSWに感謝します。私は以前の質問でも私を助けてくれたことを覚えています。 configオプションを手伝ってくれてありがとうRobVに感謝します。 –