J'essaye d'écrire une requête pour ce modèle de hibou.Littéral d'impression de requête SPARQL utilisant JENA JAVA
:Sensor rdf:type owl:Class;
:hasId rdf:type owl:DatatypeProperty,
rdfs:domain :Sensor;
rdfs:range xsd:int.
:MedicalCountainer rdf:type :owlNamedIndividual,
:Sensor;
:hasId "55"^^xsd:int .
Je veux utiliser l'ID du capteur pour récupérer le nom du capteur. Ceci est ma requête Java, mais je ne sais pas pourquoi il n'imprime rien. Je savais que ma question était juste parce que j'obtiendrais la réponse en protégé.
String file = "C:/users/src/data.ttl";
Model model = FileManager.get().loadModel(file);
String queryString = "PREFIX : <http://semanticweb.org/sensor#>" +
"SELECT ?sensor" +
"WHERE {?sensor :hasId \"55"\^^<xsd:int>}";
Query query = QueryFactory.create(queryString);
try (QueryExecution qexec = QueryExecutionFactory.create(query, model)) {
ResultSet result = qexec.execSelect();
for (; result.hasNext();) {
QuerySolution soln = result.nextSolution();
Resource r = soln.getResource("sensor");
System.out.println(r);
}
}
Vous interrogez pour la variable « capteur ». Ensuite, vous récupérez le littéral pour "Valr". Avez-vous essayé de récupérer le littéral pour "capteur" à la place? Autrement dit, soln.getLiteral ("sensor"); –
En fait, je remarque que j'ai un problème majeur dans mon code. La boucle ne fonctionne pas, cela signifie que le résultat est vide. Je mets à jour mon code, je n'arrive pas à comprendre quel est le problème. – Ali