Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Web sémantique > SPARQL
SPARQL Forum d'entraide sur SPARQL.
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 06/07/2012, 14h34   #1
Keiran
Invité de passage
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 1
Points : 1
Envoyer un message via MSN à Keiran
Par défaut Extraire les noeuds anonymes d'un concept

Bonjour,

je travaille actuellement sur de l'extraction d'informations d'ontologies. Pour cela j'ai besoin de récupérer la définition complète de concept. Je me sers de SPARQL pour réaliser cette tâche. Néanmoins, je bloque sur les nœuds anonymes présent dans les classes extraites.

Par exemple, dans l'ontologie wine, je me sers de la requête suivante sur wine:Wine
Code :
1
2
3
4
5
6
7
PREFIX wine: <http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#>
CONSTRUCT {
     wine:Wine ?p ?o
}
WHERE { 
    wine:Wine ?p ?o . 
}
La classe Wine est définie ainsi dans l'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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
  <owl:Class rdf:ID="Wine">
    <rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker" />
	<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker" />
	<owl:allValuesFrom rdf:resource="#Winery" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
 	<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn"/> 
        <owl:someValuesFrom rdf:resource="&vin;Region"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label xml:lang="en">wine</rdfs:label>
    <rdfs:label xml:lang="fr">vin</rdfs:label>
  </owl:Class>
Or, SPARQL m'en ressort le concept suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
  <rdf:Description rdf:about="http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#Wine">
    <rdfs:subClassOf rdf:nodeID="A0"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <rdfs:label xml:lang="fr">vin</rdfs:label>
    <rdfs:subClassOf rdf:nodeID="A1"/>
    <rdfs:subClassOf rdf:nodeID="A2"/>
    <rdfs:subClassOf rdf:nodeID="A3"/>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-20031209/food#PotableLiquid"/>
    <rdfs:subClassOf rdf:nodeID="A4"/>
    <rdfs:subClassOf rdf:nodeID="A5"/>
    <rdfs:label xml:lang="en">wine</rdfs:label>
    <rdfs:subClassOf rdf:nodeID="A6"/>
    <rdfs:subClassOf rdf:nodeID="A7"/>
  </rdf:Description>
Ma question est donc, comment récupérer correctement ces nœuds anonymes ?
Merci d'avance.
Keiran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 14h43   #2
Metafire18
Rédacteur/Modérateur
 
Avatar de Metafire18
 
Homme Yoan Chabot
Doctorant UCD Dublin/Le2i Dijon
Inscription : décembre 2007
Messages : 755
Détails du profil
Informations personnelles :
Nom : Homme Yoan Chabot
Âge : 25
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Doctorant UCD Dublin/Le2i Dijon
Secteur : Enseignement

Informations forums :
Inscription : décembre 2007
Messages : 755
Points : 1 881
Points : 1 881
Envoyer un message via MSN à Metafire18 Envoyer un message via Skype™ à Metafire18
Bonjour,

Le lien suivant pourra peut être vous donner quelques pistes: http://forge.morfeo-project.org/wiki...logy_fragments
__________________
Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.
Metafire18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h51   #3
Keiran
Invité de passage
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 1
Points : 1
Envoyer un message via MSN à Keiran
Merci du lien.

La solution a été trouvée ici : http://stackoverflow.com/questions/9...onstruct-query
Keiran est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h51.


 
 
 
 
Partenaires

Hébergement Web