Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Web sémantique > Ontologies
Ontologies Forum d'entraide sur les ontologies (OWL, RDF, RDFS, etc.).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/06/2012, 19h05   #1
sciencesinfo
Invité de passage
 
Femme
étudiante en mastère
Inscription : septembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Tunisie

Informations professionnelles :
Activité : étudiante en mastère
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 12
Points : 3
Points : 3
Par défaut Problème de création de DatatypeProperty

J'ai un code et je ne sais pas c'est quoi son problème, j'essaie alors d'ajouter un titre et un creator à partir d'un formulaire écrit en java, lors de la saisie il faut que ces connaissances liées au Dataproperty (titre, creator) soient insérées automatiquement au niveau de mon ontologie :
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
String owlFile = "C://Project//Book.owl";
  Model m=ModelFactory.createMemModelMaker().createModel(null);
//                m.write(new FileOutputStream(new File("Book.owl")), "RDF/XML");
 
 
                FileManager.get().readModel( m, owlFile );
 
                String myOntologyName = "Projet";
  String uri = "file:C:/Project/Book.owl";
        // Définition de prefixe pour simplifier l'utilisation de SPARQL
        String had = "had: <" + RDF.getURI() + ">";
String myOntologyPrefix = "PREFIX " + myOntologyName + ": <" + uri + ">";
                 String insertString="PREFIX had: <http://www.owl-ontologies.com/Ontology1337080298.owl#> \n" 
                 + "INSERT DATA { \n " 
                 + " <http://www.owl-ontologies.com/Ontology1337080298.owl#bookkk>  had:bookkk \n" 
+ "had:title" + jTextField1.getText()+ "\n"
+ "had:creator"+jTextField2.getText()+ "\n"
+ "}" ;
 
                m.enterCriticalSection(Lock.WRITE);
 
        try {
            m.write(new FileOutputStream(new File("Book.owl")), "RDF/XML");
 } catch (FileNotFoundException ex) {
            Logger.getLogger(INNNNNN.class.getName()).log(Level.SEVERE, null, ex);
        }
try {
 
 
                        UpdateAction.parseExecute(insertString, m);
 
        } catch (Exception e) {
 
            System.out.println(e);
 
        }
sciencesinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2012, 12h27   #2
Sapience
Membre chevronné
 
Avatar de Sapience
 
Homme Thomas Francart
Consultant sémantique & data à sparna.fr
Inscription : avril 2005
Messages : 191
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 : 191
Points : 685
Points : 685
Ton SPARQL d'insertion est plein d'erreurs.
Il donne quelque chose comme ca :

Code :
1
2
3
4
INSERT DATA {
<http://www.owl-ontologies.com/Ontology1337080298.owl#bookkk>  had:bookkk had:titlemontitre 
had:creatormonCreateur
}


Pourquoi n'en fais-tu pas un print avant de l'executer ? ca te permettra de trouver tes erreurs.
  • il manque des espaces entre "had:title" et sa valeur, et entre "had:creator" et sa valeur;
  • il manque des quotes (") autour du titre et du createur;
  • mais _surtout_ le pattern d'insertion est faux, tu ne génères pas de triplets. Tu dois générer des triplets <sujet> <predicat> <objet> séparés par des points. Est-ce que par hasard tu ne voudrais pas plutot faire qq chose comme ca :

Code :
1
2
3
4
INSERT DATA {
<http://www.owl-ontologies.com/Ontology1337080298.owl#bookkk>  had:title "montitre" .
 <http://www.owl-ontologies.com/Ontology1337080298.owl#bookkk>  had:creator "monCreateur" .
}
Sapience est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h59.


 
 
 
 
Partenaires

Hébergement Web