Пожалуйста, Может ли один используется Jena API на Android код, я пытаюсь найти решение, так как шесть месяцев, но не way.I используются источники АФИ в https://code.google.com/p/androjena/downloads/list, он работает в течение некоторого SPARQL funcion, но для других есть проблема. Например, это нормально для Exemple1, но для Exemple2 есть проблема.В поисках решения в Jena API на андроид
Exemple1:
public void QueryEngine() {
String sparqlQuery2 = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"+
"PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"+
"SELECT DISTINCT ?Nom ?resource ?url\n"+
"WHERE\n"+
" { ?resource rdfs:label ?Nom .\n"+
" ?resource foaf:isPrimaryTopicOf ?url\n"+
"?Nom <bif:contains> \"Apple\". \n"+
" FILTER langMatches(lang(?Nom), \"EN\")\n"+
"}";
String service = "http://dbpedia.org/sparql";
Query qur = QueryFactory.create(sparqlQuery2);
QueryEngineHTTP exec = new QueryEngineHTTP(service, qur);
ResultSet results = exec.execSelect();
ResultSetFormatter.out(results);
}
Exemple2:
public void QueryEngine() {
String sparqlQuery2 = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"+
"PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"+
"PREFIX dbo: <http://dbpedia.org/ontology/>\n"+
"SELECT DISTINCT ?Nom ?resource ?url\n"+
"WHERE\n"+
" { ?resource rdfs:label ?Nom .\n"+
" ?resource foaf:isPrimaryTopicOf ?url\n"+
" FILTER langMatches(lang(?Nom), \"EN\")\n"+
"?Nom <bif:contains> \"Apple\". \n"+
"Minus \n"+
"{ ?resource dbo:wikiPageRedirects|dbo:wikiPageDisambiguates ?dis} \n"+
"} ";
String service = "http://dbpedia.org/sparql";
Query qur = QueryFactory.create(sparqlQuery2);
QueryEngineHTTP exec = new QueryEngineHTTP(service, qur);
ResultSet results = exec.execSelect();
ResultSetFormatter.out(results);
}
Проблема заключается в том, что он не знает, некоторые функции, такие как, ФИЛЬТР НЕ СУЩЕСТВУЕТ, МИНУС, BIND и многие othes , Код хорошо работает с java APi jena, но с андроидом всегда есть проблемы. Я даже попробую это решение http://elite.polito.it/index.php/research/downloads/182-jena-on-android-download, но я встретил другие проблемы с признанием некоторых классов.
Пожалуйста, помогите мне. Спасибо заранее.
В SPARQL нет 'FILTER Minus'. '' является виртуозным расширением. –
AndyS
жаль, что это была опечатка, я имею в виду MINUS или FILTER NOT EXISTS ... Действительно, в версии ANDROJENA есть проблема, она не актуальна и не поддерживает некоторые функции. – Adem