21/03/2014

Interface : Visualisation d'une ontologie owl créée avec Protégé, convertie au format Json pour l'integrer à D3.js ou exhibit

Pour créer une visualisation d'ontologie dans une interface Web.


Démarrer le serveur Fuseki avec les options suivantes :
fuseki-server --update --mem /diamond
ensuite sur le serveur fuseki (http://127.0.0.1:3333), utiliser le cadre File upload au bas de la page sparql.tpl.
Puis sur la même page, dans le cadre SPARQL Query,  lancer la requête (en selectionnant OUTput : JSON) :
SELECT  *  WHERE {?Sujet ?Propriete ?Objet}

Télécharger le fichier nouvellement créé et le renommer avec l'extension .json

Ce fichier peut maintenant être directement utilisable par les moteurs de visualisation javascript tels que D3 ou Exhibit.

par exemple pour l'integrer dans une page html utilisant d3.js, utilisez le code suivant :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>D3 Test</title>
<script type="text/javascript" src="d3/d3.js"></script>
</head>
<body>
<script type="text/javascript">
// DATA

d3.json("data/diamond.json", function(diamond) {
console.log(diamond);
});

//  test paragraphe
d3.select("body")
.append("p")
.text("Smag0!");
</script>
</body>
</html>

ensuite vous pouvez vérifier l'insertion des données dans la page en utilisant la console de développement fournie par GoogleChrome , ou Firefox  :


GRRRRRR ! Après  2 jours à me prendre la tête, je me rend compte que le Json de Fuseki n'est pas le même que le Json de D3.js... et que je ne suis pas le premier à me prendre la tête dessus...
Sommes nous bloqués ? Non, on va le tenter en csv d'après la procédure décrite sur ce blog : http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html

cet article semble également interessant http://graus.nu/thesis/algorithm-performance-measurement-confusion-matrix/ parlant de matrice de confusion dans le domaine du Machine Learning (aprentissage des machines)

Sinon une autre option pourrait-être d'utiliser : http://jointjs.com/demos (mais y'a un truc à voir avec la license Free / pas free ?)

Le but étant d'obtenir quelque chose comme ça : http://bl.ocks.org/d3noob/5141278

et pour le fun, j'aime bien celui-là : http://bl.ocks.org/mbostock/1249681

reprendre aussi l'idée de cluster : http://bl.ocks.org/mbostock/7881887

et le rendre en plus zoomable : http://bl.ocks.org/mbostock/7607535 et oui, rien que ça...
Une autre idée du cluster : https://github.com/Leaflet/Leaflet.markercluster



Aucun commentaire:

Enregistrer un commentaire