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
La classe Wine est définie ainsi dans l'ontologie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 . }
Or, SPARQL m'en ressort le concept suivant :
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 <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>
Ma question est donc, comment récupérer correctement ces nœuds anonymes ?
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 <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>
Merci d'avance.
Partager