Ich benutze jena, um Abfrage auf Ontologie abzufeuern. Ich erhalte Ergebnisse wie folgt, wenn ich die Abfrage ausführen zugewiesen, um den Wert der Dateneigenschaft erhalten Student1
Wie extrahiert man den DataProperty-Wert aus den Sparql-Ergebnissen?
"Ashutosh"^^http://www.w3.org/2001/XMLSchema#string is not a URI node
einzuwenden Was soll ich tun, wenn ich führen möchte wie folgt
"Ashutosh" or `Ashutosh`
Dies ist mein Java Code. Was soll ich tun, wenn ich wie oben angegeben antworten möchte?
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.util.FileManager;
public class abc {
static String avg;
static String sq="Charlie";
static String tq="'";
static String data;
public static void main(String[] args) {
// TODO Auto-generated method stub
sparqltest();}
static void sparqltest()
{
FileManager.get().addLocatorClassLoader(abc.class.getClassLoader());
Model model= FileManager.get().loadModel("C:/Users/avg/workspacejena32/Jena/bin/ashu.rdf");
//System.out.println("Connected...");
String queryString="prefix avg:<http://www.semanticweb.org/avg/ontologies/2016/3/untitled-ontology-14#>" +
"prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>" +
"SELECT * WHERE {" +
"avg:Student1 avg:Name ?x . filter isLiteral(?x)" +
"}";
//System.out.println("Connected...");
Query query= QueryFactory.create(queryString);
QueryExecution qexec=QueryExecutionFactory.create(query, model);
try {
ResultSet rs = qexec.execSelect();
for (; rs.hasNext() ;)
{
QuerySolution soln = rs.nextSolution() ;
RDFNode a = soln.get("x") ;
data = a.asNode().getLocalName();
} }
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
Was ist das Problem jetzt? Ohne den Code zu sehen, ist es schwierig zu helfen, aber ich nehme an, dass Sie 'getLiteral (" x ")' nicht in der Ergebnismenge verwenden. – AKSW
Dies ist mein Code unten angegeben. Es gibt Ausgabe als "Ashutosh" ^^ http://www.w3.org/2001/XMLSchema#string ist kein URI-Knoten, aber ich will nur 'Ashutosh' als eine Antwort. –