J'ai fait ce modèle hibou. Il y a deux classes Sensor et Location, et Location est une classe énumérée. J'essaie d'obtenir l'emplacement de chaque capteur avec leur numéro d'identification (ID). J'ai écrit ma requête dans Protege et ça marche bien. Mais, sur JENA, c'est l'impression NULL pour l'emplacement. J'ai utilisé le ressource pour imprimer le capteur, mais pour l'emplacement, il imprime null. Je ne pouvais pas comprendre la manière correcte d'imprimer l'emplacement.SPARQL Query Printing Enumerate Class avec JENA JAVA
String file = "C:/users/src/data.ttl";
Model model = FileManager.get().loadModel(file);
String queryString = "PREFIX : <http://semanticweb.org/sensor#>" +
"SELECT ?sensor ?location" +
"WHERE {?sensor :hasId \"55"\^^xsd:int." +
"?sensor :hasLocation ?location}";
Query query = QueryFactory.create(queryString);
try (QueryExecution qexec = QueryExecutionFactory.create(query, model)) {
ResultSet result = qexec.execSelect();
for (; result.hasNext();) {
QuerySolution soln = result.nextSolution();
Resource sensor= soln.getResource("sensor");
Resource location = soln.getResource("location");
System.out.println("Sensor" + sensor);
System.out.println("Location" + location);
}
}
Merci beaucoup, est-il de bons tutoriels, vous pouvez recommander – Ali