J'ai essayé même avec SPARQLRepository mais sans résultat. voila mon code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
package mongo;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.ParallelScanOptions;
import java.util.List;
import java.util.Set;
import org.openrdf.Sesame;
import org.openrdf.query.BindingSet;
import org.openrdf.query.MalformedQueryException;
import org.openrdf.query.QueryEvaluationException;
import org.openrdf.query.QueryLanguage;
import org.openrdf.query.TupleQuery;
import org.openrdf.query.TupleQueryResult;
import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.RepositoryException;
import org.openrdf.repository.http.HTTPRepository;
import org.openrdf.repository.sail.SailRepository;
import org.openrdf.repository.sparql.SPARQLConnection;
import org.openrdf.repository.sparql.SPARQLRepository;
import org.openrdf.sail.memory.MemoryStore;
public class Connection {
public static void main(String [] args) throws RepositoryException, MalformedQueryException, QueryEvaluationException, IllegalArgumentException
{
// Mongo mongoClient = new Mongo();
// DB db = mongoClient.getDB("test");
/**
DBCollection coll= db.getCollection("test");
DBObject myDoc= coll.findOne();
System.out.println(myDoc);
**/
//Repository repository= new SailRepository(new MemoryStore());
//repository.initialize();
SPARQLRepository repository = new SPARQLRepository("http://fr.dbpedia.org/sparql");
repository.initialize();
RepositoryConnection connection=repository.getConnection();
// On initialise la query
String Sparql_qyery="select ?cat ?catLabel ?immediateParent ?level where { ?cat a skos:Concept . ?cat rdfs:label ?catLabel .{ { ?cat skos:broader <http://fr.dbpedia.org/resource/Catégorie:Art> . ?cat skos:broader ?immediateParent . BIND(1 AS ?level) }} } order by ?level ?immediateParent ?cat";
TupleQuery selectQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL, Sparql_qyery);
// on l'exécute
TupleQueryResult selectQueryResult = selectQuery.evaluate();
// on itère sur les résultats
while(selectQueryResult.hasNext())
{
// chaque ligne du résultat est un BindingSet
BindingSet aBinding = selectQueryResult.next();
// on print les valeurs de cette ligne
System.out.println("Personne "+aBinding.getValue("x")+" a pour nom "+aBinding.getValue("foafName"));
// si on ne connait pas les noms de variables de la query, on peut les récupérer dynamiquement
for (String aBindingName : selectQueryResult.getBindingNames())
{
System.out.println("La valeur de "+aBindingName+" est "+aBinding.getValue(aBindingName));
}
}
}
} |
Ainsi ce que j'ai eu comme erreur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/impl/client/HttpClients
at org.openrdf.http.client.SesameClientImpl.createHttpClient(SesameClientImpl.java:96)
at org.openrdf.http.client.SesameClientImpl.getHttpClient(SesameClientImpl.java:68)
at org.openrdf.http.client.SesameClientImpl.createSparqlSession(SesameClientImpl.java:101)
at org.openrdf.repository.sparql.SPARQLRepository.createHTTPClient(SPARQLRepository.java:130)
at org.openrdf.repository.sparql.SPARQLRepository.getConnection(SPARQLRepository.java:146)
at mongo.Connection.main(Connection.java:50)
Caused by: java.lang.ClassNotFoundException: org.apache.http.impl.client.HttpClients
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 6 more |
Normalement c'est l'instruction
RepositoryConnection connection=repository.getConnection();
qui a généré cette erreur !
Partager