|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Bonjour,
Je débute avec TDB, et j'ai quelques problèmes pour trouver de la documentation et des exemples. Mon ontologie est très simple, doit permettre de stocker n'importe quelle donnée. Pour l'instant, je n'utilise qu'une propriété, "http://tuplesProperties#hasName". Dans un premier temps, j'écris les données de mon modèle : Code :
Code :
Code :
Code :
Statement stat = iterElts.nextStatement(); Que signifie l'erreur "Quad: object cannot be null" ? Qu'est-ce qu'un "quad" d'ailleurs ? Merci pour votre aide Lauriane |
||||||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
(c'est un tout petit peu confusant car ton code fait référence à une variable "prov" qui n'est définie nulle part...)
un quad est un triplet RDF avec une information de contexte supplémentaire, qui est dans ton cas le "NamedModel" dans lequel tu insères ton Model dans TDB. "Quad: object cannot be null" veut dire que l'objet du triplet (un triplet ayant la structure sujet/prédicat/objet) est null. Maintenant, te dire pourquoi il est null... là je sèche :-) |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Désolée, j'ai oublié de renommer ma variable... J'ai corrigé le code
Merci pour ce début de réponse. En fait, je ne vois pas quelle est la méthode pour récupérer les données avec TDB. Avec le graphe Jena de base, j'arrive à créer mon modèle, l'écrire dans un fichier. Puis charger ce fichier, et utiliser les données. Mais pas moyen avec TDB, quoi que je fasse, j'obtiens cette erreur. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
J'aurais tendance à suspecter une corruption de tes fichiers de données. As-tu essayé de supprimer complètement le contenu du répertoire "TDB/", et de relancer tes tests ? ou alors d'indiquer un autre nouveau répertoire à TDB dans tes tests ?
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
J'ai relancé le test avec un dossier vide, et j'ai toujours cette erreur. Même en spécifiant le chemin global du dossier "/home/path/to/folder"
|
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
trouvé :-) La ligne qui génère l'erreur est en fait :
Code :
System.out.println(stat.getProperty(hn).getString()); "There is an unfortunate ambiguity here. (...) If the object of the statement is not a resource, an exception is thrown." L'exception vient de ce que j'ai surligné. En fait à partir de ta variable stat, ce qui va t'interesser c'est surtout :
Code :
|
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Et ça marche chez vous ? J'ai toujours la même erreur, même quand je ne mets aucun "System.out.println(...)" et pour le programme, l'exception est lancée à la ligne
Code :
Statement stat = iterElts.nextStatement(); |
|
|
00
|
|
|
#8 | ||
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
Oui le code suivant (qui est une adaptation du tien) s'execute sans erreur chez moi, en utilisant jena et TDB 0.9-incubating, et en partant d'un répertoire TDB vide :
Code :
|
||
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Eh bien, ça marche quand je copie le code..... Je vais regarder alors pourquoi moi ça me lance une exception, et je posterai la réponse (si jamais je trouve).
Merci infiniment |
|
|
00
|
|
|
#10 | ||||
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Ah, mais je pense avoir trouvé d'où vient l'erreur, mais je ne sais pas si c'est normal ou pas.
En copiant ton code, je n'ai pas d'exception. Seulement, si je le fais en deux étapes : d'abord Code :
Code :
(Je vais enlever la balise "[Résolu]" du coup) |
||||
|
|
00
|
|
|
#11 | ||
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
Dammit
Ce code fonctionne en deux lancements séparés, il s'agit de remplacer le "addNamedGraph" dans le dataset créé par un "getNamedGraph" : Code :
|
||
|
00
|
|
|
#12 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 9 ![]() |
Merci !!!!
C'est quand même bien étrange, et on ne trouve que très peu de documentation. Merci beaucoup pour le temps passé. Lauriane |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 191 ![]() |
On est d'accord, vu la complexité de l'API Jena, la doc est très très limite (c'est aussi pour ça que je milite plutôt en faveur de Sesame).
|
|
00
|
Copyright © 2000-2013 - www.developpez.com