![]() |
![]() |
Accueil > Intranet Michel Buffa > Option web 2.0 Master 1 informatique 2011 > Web Sémantique / Web of Data / Linked Open Data
Web Sémantique / Web of Data / Linked Open DataDe $1Table des matièresIntroductionLors de cette séance, un cours d'introduction au web sémantique/web de données sera donné, ainsi qu'une présentation de ce que l'on appelle le Linked Open Data, illustré par des démonstrations de sites tels que DBPedia.org ou freebase.com, ainsi que de sites web publics exploitant le LOD. Lors du TP vous apprendrez à utiliser DBpedia et Freebase, notamment en les requêtant via du javascript, puis vous intégrerez les morceaux de code développés à votre pictionary HTML5. Support de coursIntroduction au web sémantique/web de donnéesWeb Sémantique ou comment les ontologies pourront favoriser l\'échange des connaissances sur le web du futur
View more presentations from Fabien Gandon.
Freebase - Semantic Technologies 2010 Code Camp View more presentations from Jamie Taylor
Présentation de DBpedia.org en français
http://www.slideshare.net/christianh...web-des-donnes
Démos
Tutoriaux spécifiques
Travaux pratiquesJouer un peu avec Freebase, utiliser Freebase comme source de données pour le pictionaryCommencez par parcourir le site http://www.freebase.com, lisez quelques documentations, regardez les différents URLs, etc. Vous remarquerez que freebase est à la fois un wiki à la wikipedia, qui permet de contribuer non pas des pages de texte mais à la fois des données structurées (typées, avec propriétés et relations) mais aussi de contribuer des schémas, c'est-à-dire des modèles de données. Par ailleur freebase dispose d'une API riche, disponible à la fois pour des langages de programmation classiques comme java ou php mais aussi d'une API javascript. Depuis que Google a racheté la société metaweb à l'origine de freebase, de nombreux outils ont vu le jour comme un outil en ligne pour tester les requêtes, etc. Quelques ressources pour le développement d'applis consommant du freebase :
Mais le vrai enjeu consiste à comprendre le langage de requête MQL : http://www.freebase.com/docs/data/first_query Etudier les exemples fournis ici !
La requête : [{'id': null, 'name': null, 'type': '/biology/animal', "/common/topic/image" : [{ "id" : null, "optional" : true, "limit" : 1 }], "/common/topic/article" : [{ "id" : null, "optional" : true, "limit" : 1 }], "limit": 10}] ... inqiue que l'on veut tous 10 résultats ("limit": 10) dont on ne connait pas l'identifiant ("id"=null) mais dont le type est un animal ("type": "biology/animal") et pour lesquels, je veux les images ("/common/topic/image": []") et les abstracts ("/common/topic/article"). Pour pouvoir afficher les images et les abstracts, on utilise l'API "trans" de freebase : http://www.freebase.com/docs/web_services/trans_raw Essayez donc de modifier ces requêtes pour récupérer tous les animaux, récupérer leurs noms dans un tableau et en tirer un au hasard. Enfin, intégrez ce code dans votre pictionary pour "tirer" le nom d'un animal et sa description au hasard au début d'une partie : ce sera le sujet à dessiner. Lorsque le temps limite est atteint ou lorsqu'un joueur a trouvé, on affichera la photo de l'animal avec le texte "bravo, la bonne réponse était : " suivi du nom. Ou bien "dommage, personne n'a trouvé, il s'agissait de : " suivi du nom et de la photo. Par la suite, vous pouvez créer dans votre projet des requêtes pour d'autres "catégories" comme "sport", "histoire", "science", etc... En quelques mots, vous allez utiliser freebase comme source de données pour votre projet. Regarder aussi DBpediaDBpedia est issu de travaux académiques et ne bénéficie pas d'outils, d'interfaces graphiques et d'APIs aussi "léchés" que ceux de Freebase. Dans la plupart des cas les gens utilisent DBpedia via un "sparql endpoint" (voir la partie "online access" de dpedia.org, et aussi la troisième présentation de cette page sur le linked data). Tester quelques reqêtes. Voici un exemple de requête Sparql envoyée via un programme en javascript + jquery, les résultas sont en JSON et l'exemple montre comment récupérer les différents éléments)
Cet exemple exécute la requête SPARQL suivante, qui demande la liste des pays (?country) et des populations (?population), qui ne touchent pas la mer (type:LandLockedCountries) et dont la population est supérieure à 15M d'habitants : PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?country_name ?population
WHERE {
?country a type:LandlockedCountries ;
rdfs:label ?country_name ;
prop:populationEstimate ?population .
FILTER (?population > 15000000) .
}
La requête est dans sa version "encodée" dans l'URL dans le cas de cet exemple en javascript (voir la variable "url" au début du code) et le résultat est demandé en json (voir la fin de l'URL) DBpedia autorise plusieurs formats pour les résultats et fournit plusieurs URLs pour le requêtage. L'exemple est tiré de ce tutorial : http://personnel.univ-reunion.fr/fre...ple/index.html Exemples d'URLs concernant la perche du nil (vue HTML : http://dbpedia.org/page/Nile_perch, vue RDF/XML ici : http://dbpedia.org/data/Nile_perch et vue JSON : http://dbpedia.org/data/Nile_perch.json). Ressource intéressante : Sparcool.net, un moyen simple de requêter le LOD : http://sparcool.net/
Mots clés:
|
Powered by MindTouch Deki Open Source Edition v.8.08 |