Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Inscrit en
    octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 15
    Points : 0
    Points
    0

    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 :
    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 :

    test.png


    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 chevronné
    Avatar de Sapience
    Homme Profil pro Thomas Francart
    Consultant sémantique & data à sparna.fr
    Inscrit en
    avril 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Francart
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : avril 2005
    Messages : 236
    Points : 709
    Points
    709

    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
    Invité de passage
    Inscrit en
    octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 15
    Points : 0
    Points
    0

    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 :
    1
    2
     
    String ont = "C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    par

    Code :
    1
    2
     
    String ont = "http://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    ou encore par :

    Code :
    1
    2
     
    String ont = "file://C://Program Files//Protege_3.4.6//examples//pizza//pizza.owl";
    et j'obtient toujours l'erreur suivante:
    Sans titre.png

    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
    Futur 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 : 16
    Points
    16

    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 chevronné
    Avatar de Sapience
    Homme Profil pro Thomas Francart
    Consultant sémantique & data à sparna.fr
    Inscrit en
    avril 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Francart
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : avril 2005
    Messages : 236
    Points : 709
    Points
    709

    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 :
    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 :
    1
    2
    File f = new File("C:/Program Files/...");
    model.read(new FileInputStream(f));

  6. #6
    Futur 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 : 16
    Points
    16

    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
    Invité de passage
    Inscrit en
    octobre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 15
    Points : 0
    Points
    0

    Par défaut

    merci tout les deux

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •