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

Ontologies Discussion :

Ontologies et l'API Protégé


Sujet :

Ontologies

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 29
    Points
    29
    Par défaut Ontologies et l'API Protégé
    Salut,

    Je dois utiliser l'api protégé pour réaliser une application d'utilisation des ontologies (l'alignement d'ontologies).

    Le principe de mon projet est de charger deux ontologies à partir de mon disque local, puis l'algorithme doit extraire les concepts et les relation de la première ontologie sources et les comparer avec les concepts et les relation de la deuxième ontologie cible, et puis analyser ces concepts (le premier concept source avec tous les concept cibles, puis le deuxième avec tous le concepts cibles....etc). Malheureusement, la difficulté que je rencontre dans ce projet est d'extraire les concepts des ontologies. J'ai trouvé dans le guide de l'api de protégé que l'instruction qui charge l'ontologie à partir de disque local c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String uri = "file:///c:/Work/Projects/travel.owl";
    OWLModel owlModel = ProtegeOWL.createJenaOWLModelFromURI(uri);
    Mais pendent l'exécution du programme une erreur se produite comme suit :

    Ensuite quand j'ajoute « throws Exception » à la méthode main l'erreur suivante se produit à la console:

    ___________________________________________________________________________
    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
    CONFIG: Protege 3.0 Build 141, JVM 1.6.0_17-b04, memory=66M, Windows XP, encoding=UTF-8, language=fr, country=FR
    WARNING: Plugins directory not found: C:\Documents and Settings\Abdellah\Mes documents\workspace\base\plugins -- PluginUtilities.getPluginsDir()
    java.io.FileNotFoundException: C:\Documents and Settings\Abdellah\Mes documents\workspace\base\plugins\edu.stanford.smi.protegex.owl\ont-policy.rdf (Le chemin d'accès spécifié est introuvable)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at edu.stanford.smi.protegex.owl.ui.jena.OntPolicy.loadOntPolicy(OntPolicy.java:132)
    at edu.stanford.smi.protegex.owl.ui.jena.OntPolicy.loadOntPolicy(OntPolicy.java:126)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.initCache(JenaLoader.java:1596)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.createOntModel(JenaLoader.java:272)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.init(JenaLoader.java:229)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.<init>(JenaLoader.java:141)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.loadFile(JenaLoader.java:1338)
    at edu.stanford.smi.protegex.owl.jena.JenaOWLModel.load(JenaOWLModel.java:180)
    at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(ProtegeOWL.java:55)
    at OWLAPIDemoApplication.main(OWLAPIDemoApplication.java:11)
    [JenaOWLModel.initCache] Warning: java.io.FileNotFoundException: C:\Documents and Settings\Abdellah\Mes documents\workspace\base\plugins\edu.stanford.smi.protegex.owl\ont-policy.rdf (Le chemin d'accès spécifié est introuvable)
    java.io.FileNotFoundException: C:\Documents and Settings\Abdellah\Mes documents\workspace\base\plugins\edu.stanford.smi.protegex.owl\ont-policy.rdf (Le chemin d'accès spécifié est introuvable)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at edu.stanford.smi.protegex.owl.ui.jena.OntPolicy.loadOntPolicy(OntPolicy.java:132)
    at edu.stanford.smi.protegex.owl.ui.jena.OntPolicy.loadOntPolicy(OntPolicy.java:126)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.initCache(JenaLoader.java:1596)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.init(JenaLoader.java:233)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.<init>(JenaLoader.java:141)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.loadFile(JenaLoader.java:1338)
    at edu.stanford.smi.protegex.owl.jena.JenaOWLModel.load(JenaOWLModel.java:180)
    at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(ProtegeOWL.java:55)
    at OWLAPIDemoApplication.main(OWLAPIDemoApplication.java:11)
    [JenaOWLModel.initCache] Warning: java.io.FileNotFoundException: C:\Documents and Settings\Abdellah\Mes documents\workspace\base\plugins\edu.stanford.smi.protegex.owl\ont-policy.rdf (Le chemin d'accès spécifié est introuvable)
    Starting to load OWL stream at Sat May 01 21:59:26 CEST 2010
    Exception in thread "main" java.net.MalformedURLException: unknown protocol: d
    at java.net.URL.<init>(URL.java:574)
    at java.net.URL.<init>(URL.java:464)
    at java.net.URL.<init>(URL.java:413)
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:1999)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.<init>(JenaLoader.java:142)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.loadFile(JenaLoader.java:1338)
    at edu.stanford.smi.protegex.owl.jena.JenaOWLModel.load(JenaOWLModel.java:180)
    at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(ProtegeOWL.java:55)
    at OWLAPIDemoApplication.main(OWLAPIDemoApplication.java:11)
    com.hp.hpl.jena.shared.JenaException: rethrew: java.net.MalformedURLException: unknown protocol: d
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2010)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.<init>(JenaLoader.java:142)
    at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.loadFile(JenaLoader.java:1338)
    at edu.stanford.smi.protegex.owl.jena.JenaOWLModel.load(JenaOWLModel.java:180)
    at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(ProtegeOWL.java:55)
    at OWLAPIDemoApplication.main(OWLAPIDemoApplication.java:11)
    Caused by: java.net.MalformedURLException: unknown protocol: d
    at java.net.URL.<init>(URL.java:574)
    at java.net.URL.<init>(URL.java:464)
    at java.net.URL.<init>(URL.java:413)
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:1999)
    ... 5 more
    ___________________________________________________________________________


    Aidez moi S'il vous plait pour résoudre ce problème.

  2. #2
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Faut préfixer le path de ton fichier par le protocole file comme dans l'exemple, sinon ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file:///d:/local.owl
    Voir http://protege.stanford.edu/plugins/.../guide.html#IO

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Tommy31 Voir le message
    Faut préfixer le path de ton fichier par le protocole file comme dans l'exemple, sinon ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    file:///d:/local.owl
    Voir http://protege.stanford.edu/plugins/.../guide.html#IO
    j toujour un probleme:

    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
    CONFIG: Protege 3.0 Build 141, JVM 1.6.0_17-b04, memory=66M, Windows XP, encoding=UTF-8, language=fr, country=FR
    WARNING: Plugins directory not found: C:\Documents and Settings\Administrateur\Mes documents\workspace\java\plugins --PluginUtilities.getPluginsDir() 
    Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xerces.parsers.SAXParser.<init>(Lorg/apache/xerces/xni/parser/XMLParserConfiguration;)V
    	at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser$MySAXParser.<init>(RDFXMLParser.java:55)
    	at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.create(RDFXMLParser.java:83)
    	at com.hp.hpl.jena.rdf.arp.JenaReader.<init>(JenaReader.java:62)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    	at java.lang.Class.newInstance0(Class.java:355)
    	at java.lang.Class.newInstance(Class.java:308)
    	at com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.getReader(RDFReaderFImpl.java:113)
    	at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:220)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.findMetadata(OntDocumentManager.java:895)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.initialiseMetadata(OntDocumentManager.java:853)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:201)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:183)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:167)
    	at com.hp.hpl.jena.ontology.OntDocumentManager.getInstance(OntDocumentManager.java:245)
    	at com.hp.hpl.jena.ontology.OntModelSpec.getDocumentManager(OntModelSpec.java:340)
    	at com.hp.hpl.jena.ontology.OntModelSpec.<init>(OntModelSpec.java:224)
    	at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.createOntModel(JenaLoader.java:244)
    	at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.init(JenaLoader.java:229)
    	at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.<init>(JenaLoader.java:141)
    	at edu.stanford.smi.protegex.owl.jena.loader.JenaLoader.loadFile(JenaLoader.java:1338)
    	at edu.stanford.smi.protegex.owl.jena.JenaOWLModel.load(JenaOWLModel.java:180)
    	at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(ProtegeOWL.java:55)
    	at OWLAPIDemoApplication.main(OWLAPIDemoApplication.java:24)

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 25
    Points : 44
    Points
    44
    Par défaut
    Salut,
    est ce que tu as avancé sur ton objectif d'origine qui était de comparer deux modèles ? Parmi les outils de protégé, j'utilise notamment l'api Jena qui me permet d'extraire correctement mes classes et propriétés pour l'utilisation. Par contre, tout comme toi, je dois en plus pouvoir comparer deux modèles pour en extraire les mises à jour (le deuxième model étant une mise à jour du premier). Je cherche donc à extraire ces mises à jour. Dans la doc de l'api Jena et plus précisement sur les infos de l'objet OntModel, on trouve la méthode difference dont le fonctionnement parait logique à la vue des méthodes union et intersection aussi disponibles.

    Voulant tester son fonctionnement, j'ai ouvert deux fois le même modèle de la manière suivante ( avec comme ontologie ciblée les pizza ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private final String pizza_url = "http://www.co-ode.org/ontologies/pizza/2005/05/16/pizza.owl";
    private final OntModel m;
    private final OntModel m_modified;
    private final Model m_dif;
     
    public MyOWLReader() {
    	m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null);
    	m_modified = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null);
     
    	m.read(pizza_url);
    	m_modified.read(pizza_url);
     
    	m_dif = m.difference(m_modified);
    }
    Le problème c'est qu'il m'en trouve des différences ! Dans le doute, j'ai copié le fichier pizza.owl et je l'ai hébergé sur un autre server en appelant deux urls différentes, mais pareil, il trouve des différences. Ultime test, j'ai comparé un modèle à lui même, et là, de façon logique, il ne me trouve aucune modification.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_dif = m.difference(m);
    Donc voila mon problème. Est ce que tu as utilisé les outils proposés dans l'api pour effectuer ta comparaison, ou est ce que tu as fait un algo toi même, correspondant précisément à ton modèle ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2013, 16h09
  2. [Protégé] [API OWL] Import d'ontologies
    Par tubaas dans le forum Ontologies
    Réponses: 2
    Dernier message: 12/08/2011, 10h22
  3. [Ontologies] Protégé et Virtuoso / Sésame
    Par MiniKid dans le forum Web sémantique
    Réponses: 12
    Dernier message: 25/06/2011, 16h38
  4. Réponses: 1
    Dernier message: 24/02/2011, 15h39
  5. [Jena] Cherche l'API com.hp.hpl.jena.ontology
    Par fafa624 dans le forum Frameworks
    Réponses: 2
    Dernier message: 13/04/2007, 16h11

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