IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Frameworks Discussion :

Comment utiliser Pellet dans Jena ? [Jena]


Sujet :

Frameworks

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Comment utiliser Pellet dans Jena ?
    Bonsoir tout le monde,

    je viens de découvrir l'api jena et le raisonneur Pellet. Et je voudrais tester le fonctionnement ce raisonneur à l'aide du code suivant que je viens de copier sur eclipse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import java.io.InputStream;
     
    import com.hp.hpl.jena.rdf.model.Model;
    import com.hp.hpl.jena.rdf.model.ModelFactory;
    import com.hp.hpl.jena.util.FileManager;
    import com.hp.hpl.jena.reasoner.Reasoner;
    import com.hp.hpl.jena.reasoner.ValidityReport;
    import com.hp.hpl.jena.ontology.OntClass;
    import com.hp.hpl.jena.ontology.OntModel;
    import com.hp.hpl.jena.rdf.model.InfModel;
    import com.hp.hpl.jena.rdf.model.Resource;
    import com.hp.hpl.jena.ontology.Individual;
    import com.hp.hpl.jena.ontology.ObjectProperty;
    import com.hp.hpl.jena.rdf.model.Property;
    import com.hp.hpl.jena.util.iterator.ExtendedIterator;
    import com.hp.hpl.jena.reasoner.*;
     
     
    import java.util.Iterator;
     
     
     
    import org.mindswap.pellet.PelletOptions;
    import org.mindswap.pellet.jena.PelletReasonerFactory;
     
    import java.io.File;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.Collection;
     
    import org.omg.CORBA.NameValuePair;
     
     
    public class AA {
     
     
        public static void main(String[] args) {
    // How can I use Pellet with Jena? //
     
        	// ontology that will be used
        	String ont = "C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
     
        	// create an empty ontology model using Pellet spec
        	OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
     
        	// read the file
        	model.read( ont );
     
        	// get the instances of a class
     
     
        	OntClass Pizza = model.getOntClass( "#Pizza" );  
     
        	Iterator instances = Pizza.listInstances();
    } // fin void main
     
     
    }
    Le problème c'est que lorsque je fais l'exécution de cette classe, j'obtient l'erreur suivante :

    Nom : test.png
Affichages : 457
Taille : 40,9 Ko


    Quelqu'un peut m'expliquer la cause de cette erreur? Et c'est quoi unknown protocol: c? C'est reflète peut être le C: qui désigne le répertoire sous lequel je me réfère à l'ontologie pizza.owl? Ou bien il me manque des fichiers jar ( sachant que j'ai importé tout les fichier Pellet\lib\* .jar)

    J'attend vos réponses et merci d'avance..

  2. #2
    Membre éprouvé
    Avatar de Sapience
    Homme Profil pro
    Consultant sémantique & data à sparna.fr
    Inscrit en
    Avril 2005
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant sémantique & data à sparna.fr
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 305
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par nzaira Voir le message
    Quelqu'un peut m'expliquer la cause de cette erreur?
    "Protocole inconnu : c". C n'est pas reconnu comme un protocole, sous-entendu un protocole d'URL, tel que http:, ftp:, etc... Le chemin vers ton ontologie doit en fait etre une URL, pas un chemin de fichier.

    Citation Envoyé par nzaira Voir le message
    Et c'est quoi unknown protocol: c? C'est reflète peut être le C: qui désigne le répertoire sous lequel je me réfère à l'ontologie pizza.owl?
    Oui, tout a fait. Il faut que tu passes une chaine de caractères qui a une tête d'URL, c'est-a-dire quelque chose comme "file://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl"

    Citation Envoyé par nzaira Voir le message
    Ou bien il me manque des fichiers jar ( sachant que j'ai importé tout les fichier Pellet\lib\* .jar)
    Non, ça n'a rien a voir. Quand il manque des jars, on a des erreurs de type "NoClassDefFoundError".

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Oui, tout a fait. Il faut que tu passes une chaine de caractères qui a une tête d'URL, c'est-a-dire quelque chose comme "file://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl"
    J'ai gardé le meme code sauf que j'ai changé la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String ont = "C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String ont = "http://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    ou encore par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String ont = "file://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    et j'obtient toujours l'erreur suivante:
    Nom : Sans titre.png
Affichages : 460
Taille : 45,0 Ko

    J'ai besoin de plus de précision concernant le chemin de l'ontologie que je devrais écrire... Aider moi s'il vous plait... Je suis vraiment bloqué

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 66
    Points : 51
    Points
    51
    Par défaut
    Moi aussi je souffre du meme problème depuis une période assez importante... J'arrive pas à comprendre que dois je écrire dans le chemin de l'ontologie que j'ai créer, si j'écris C:/Programs Files/ etc., j'obtient la meme erreur..

    Y a t il des réponses s'il vous plaît?

  5. #5
    Membre éprouvé
    Avatar de Sapience
    Homme Profil pro
    Consultant sémantique & data à sparna.fr
    Inscrit en
    Avril 2005
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant sémantique & data à sparna.fr
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 305
    Points : 915
    Points
    915
    Par défaut
    Il faut apprendre à lire les stacktraces. Très souvent la réponse y est.

    "UnknownHostException : C" ("Hôte Inconnu : C").

    C est interprété comme un nom d'hôte, de serveur, parce ce qu'il suit le "file://" dans l'URL. Pour faire comprendre à l'URL qu'il n'y a pas d'hôte dans l'URL, et qu'on est en local, il faut ne pas mettre d'hôte, donc rajouter un "/" derrière "file://", ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String ont = "file:///C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    (notez les 3 '/')

    Mais sinon, plus simple pour ne pas se planter, utilisez les autres méthodes "read" du Model Jena : read(Reader), read(InputStream).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File f = new File("C:/Program Files/...");
    model.read(new FileInputStream(f));

  6. #6
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 66
    Points : 51
    Points
    51
    Par défaut
    Merci spacience pour ta réponse mais je viens de résoudre le problème autrement. Tout simplement, protégé te donne l'URL de chaque ontologie .

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    merci tout les deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net] Comment utiliser CSS dans un UserControl ?
    Par GEFIRO1 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/04/2006, 09h27
  2. Réponses: 5
    Dernier message: 12/03/2006, 14h38
  3. Comment utiliser OpenGL dans un TPanel ?
    Par PCMan dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/12/2005, 17h48
  4. Comment utiliser Opengl dans Visual Basic 6
    Par fun31 dans le forum OpenGL
    Réponses: 1
    Dernier message: 03/12/2004, 10h17
  5. [CR][VB6] comment utiliser CR dans VB ?
    Par kouassi_denis dans le forum SDK
    Réponses: 2
    Dernier message: 26/01/2004, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo