ça fait un bout que je suis pas passé.. M'enfin !!!
La livraison du pcDuino a pas mal tardé, ensuite les vacances...
Mais j'ai tout bien reçu (voir les articles précedents).
Quelques tests faits : installer vnc, librairie pyduino, brancher une caméra, une Led, (mon-club-elec.fr) , test des servos moteurs, et moteurs de déplacement (linksprite.com)...
Mais l'étape d'aujourd'hui concerne la mise en place d'un serveur fuseki afin de gérer la base de connaissance du robot
Fuseki :
sur le pcduino, decompresser le repertoire fuseki
Lancer fuseki au démarrage (modif du fichier autostart):
sudo geany /etc/xdg/lxsession/Lubuntu/autostart
ajouter une des deux lignes suivante en fonction du mode de démarrage préféré :
- pour fuseki en mode non persistant pour faire des tests (en mémoire):
@/home/ubuntu/fuseki/fuseki-server --update --mem /ds
- pour fuseki en mode persistant pour que les données restent :
/home/ubuntu/fuseki/fuseki-server --update --loc=/home/ubuntu/fuseki/DEFAUT /ds
!!! pensez à créer le repertoire DEFAUT dans le repertoire fuseki et bien mettre un espace devant /ds qui défini le nom du dataset
(voir la doc de fuseki pour les différents modes de démarrage)
Le serveur Fuseki est accessible à l'adresse http://localhost:3030
on peut y uploader les fichiers de tests proposés sur le tutoriel Jena Sparql
aide pour construire les requetes Jena / Sparql : http://www.slideshare.net/rajighawi/java-and-sparql (diapo 5/26)
on peut même y accéder en mode distant, avec Processing et Jena
(modifier l'adresse : remplacez 10.42.0.1 par l'adresse de votre pcduino):
import java.io.Reader;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.query.ResultSet;
import javax.xml.transform.Result;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.ontology.OntModelSpec;
void setup() {
/*
http://host/dataset/query -- the SPARQL query endpoint.
http://host/dataset/update -- the SPARQL Update language endpoint.
http://host/dataset/data -- the SPARQL Graph Store Protocol endpoint.
http://host/dataset/upload -- the file upload endpoint.
*/
String endpoint = "http://10.42.0.1:3030/ds/query";
String requete = "SELECT * WHERE {?S ?P ?O}";
//String requeteJS = "SELECT ?x WHERE { ?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> 'John Smith' }";
// select-query
QueryExecution qe = QueryExecutionFactory.sparqlService(endpoint, requete);
//qe.setInitialBinding( );
println (qe);
ResultSet result = qe.execSelect();
////////////////////////:::::::::::::
// Pour afficher les resultats deux solutions ResultSetFormatter.out(System.out, result); ou While / has next
ResultSetFormatter.out(System.out, result);
/*while (result.hasNext ()) {
QuerySolution querySolution = result.next();
println(querySolution);
}*/
//////////////////////////:::::::
int numb = result.getRowNumber();
println (numb);
}
void draw() {
}
ce sketch processing permet de visualiser les infos présentes sur le serveur Fuseki du pcduino. Pour une requête plus précise et notamment obtenir un graphe/model à la place d'un ResultSet, on devra utiliser Construst plutôt que Select qui retourne un tableau itérateur des solutions. http://jena.apache.org/tutorials/sparql_results.html
voir aussi les tutoriels Jena en français : http://jena.apache.org/tutorials/index.html
pour reinitialiser le serveur fuseki (effacer toutes les données) :
s-update --service http://localhost:3030/ds/update 'CLEARDEFAULT'
La livraison du pcDuino a pas mal tardé, ensuite les vacances...
Mais j'ai tout bien reçu (voir les articles précedents).
Quelques tests faits : installer vnc, librairie pyduino, brancher une caméra, une Led, (mon-club-elec.fr) , test des servos moteurs, et moteurs de déplacement (linksprite.com)...
Mais l'étape d'aujourd'hui concerne la mise en place d'un serveur fuseki afin de gérer la base de connaissance du robot
Fuseki :
sur le pcduino, decompresser le repertoire fuseki
Lancer fuseki au démarrage (modif du fichier autostart):
sudo geany /etc/xdg/lxsession/Lubuntu/autostart
ajouter une des deux lignes suivante en fonction du mode de démarrage préféré :
- pour fuseki en mode non persistant pour faire des tests (en mémoire):
@/home/ubuntu/fuseki/fuseki-server --update --mem /ds
- pour fuseki en mode persistant pour que les données restent :
/home/ubuntu/fuseki/fuseki-server --update --loc=/home/ubuntu/fuseki/DEFAUT /ds
!!! pensez à créer le repertoire DEFAUT dans le repertoire fuseki et bien mettre un espace devant /ds qui défini le nom du dataset
(voir la doc de fuseki pour les différents modes de démarrage)
Le serveur Fuseki est accessible à l'adresse http://localhost:3030
on peut y uploader les fichiers de tests proposés sur le tutoriel Jena Sparql
aide pour construire les requetes Jena / Sparql : http://www.slideshare.net/rajighawi/java-and-sparql (diapo 5/26)
on peut même y accéder en mode distant, avec Processing et Jena
(modifier l'adresse : remplacez 10.42.0.1 par l'adresse de votre pcduino):
import java.io.Reader;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.query.ResultSet;
import javax.xml.transform.Result;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.ontology.OntModelSpec;
void setup() {
/*
http://host/dataset/query -- the SPARQL query endpoint.
http://host/dataset/update -- the SPARQL Update language endpoint.
http://host/dataset/data -- the SPARQL Graph Store Protocol endpoint.
http://host/dataset/upload -- the file upload endpoint.
*/
String endpoint = "http://10.42.0.1:3030/ds/query";
String requete = "SELECT * WHERE {?S ?P ?O}";
//String requeteJS = "SELECT ?x WHERE { ?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> 'John Smith' }";
// select-query
QueryExecution qe = QueryExecutionFactory.sparqlService(endpoint, requete);
//qe.setInitialBinding( );
println (qe);
ResultSet result = qe.execSelect();
////////////////////////:::::::::::::
// Pour afficher les resultats deux solutions ResultSetFormatter.out(System.out, result); ou While / has next
ResultSetFormatter.out(System.out, result);
/*while (result.hasNext ()) {
QuerySolution querySolution = result.next();
println(querySolution);
}*/
//////////////////////////:::::::
int numb = result.getRowNumber();
println (numb);
}
void draw() {
}
ce sketch processing permet de visualiser les infos présentes sur le serveur Fuseki du pcduino. Pour une requête plus précise et notamment obtenir un graphe/model à la place d'un ResultSet, on devra utiliser Construst plutôt que Select qui retourne un tableau itérateur des solutions. http://jena.apache.org/tutorials/sparql_results.html
voir aussi les tutoriels Jena en français : http://jena.apache.org/tutorials/index.html
pour reinitialiser le serveur fuseki (effacer toutes les données) :
s-update --service http://localhost:3030/ds/update 'CLEARDEFAULT'
Aucun commentaire:
Enregistrer un commentaire