« SPARQL Protocol and RDF Query Language/Requêtes de découverte » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 82 :
L'avantage ici est de ne pas être obligé de connaître des exemples de références pour retrouver les ontologies utilisées.
 
Le masque du graphe dans cette requête de découverte est constitué d'un triplet avec une variable variable ''?Conceptconcept'' et ''?objet. Dans la définition, on affiche les solutions pour la variable ''?Conceptconcept''.
 
Dans le graphe RDF/Turtle :
Ligne 91 :
On applique la requête SPARQL :
<pre>
select distinct ?concept where { []?objet a ?concept} </pre>
 
Qui est équivalente à :
Ligne 130 :
! scope=col | predicate
|-
| <nowiki><http://purl.org/dc/elements/1.1/title></nowiki>
|}
 
=== DécouverteDécouvrir parun prédicat via une expression régulière ===
 
Si vous recherchez à afficher le titre de films dans une base de données. On peut supposer que le prédicat devrait contenir le texte "title" (titre en anglais).<br/>
Une fois le prédicat trouvé, on peut en théorie retrouver l'ontologie sur le Web pour savoir si ce lien répond à votre besoin.
 
On va utiliser dans notre requête SPARQL la variable ''?predicat'' qui sera ensuite utilisée dans la clause FILTER. La clause Filter va nous permettre de convertir cet IRI en texte avec la fonction ''str()'' pour l'utiliser comme argument dans la fonction ''regex()''. On va ainsi pouvoir rechercher un mot dans les références des prédicats. (le paramètre i dans la fonction regex est indiquée pour ne pas être sensible à la casse)
 
Dans le graphe RDF/Turtle :
<pre>
@prefix linkbarcode: <http://www.linkbarcode.org/wiki/LinkBarcode_ontology#>.
<http://example.org/product1> linkbarcode:isMadeOf <http://en.linkbarcode.org/wiki/Special:URIResolver/Dehydrated_garlic>.</pre>
 
Par exemple la requête SPARQL :
<pre>
SELECT DISTINCT ?predicat
WHERE { ?o ?predicat ?v .
FILTER (regex(str(?predicat), "^.*made.*$", "i")) }</pre>
donnera le résultat:
{| class="wikitable"
! scope=col | predicat
|-
| <nowiki><http://www.linkbarcode.org/wiki/LinkBarcode_ontology#isMadeOf></nowiki>
|}
 
Référence: [http://www.regular-expressions.info/ tutoriel expression régulière ]
 
== Fabriquer un agent intelligent ==