Download
formation aux technologies du web s mantique ccsd lyon 8 10 septembre 2010 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010 PowerPoint Presentation
Download Presentation
Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010

Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010

83 Views Download Presentation
Download Presentation

Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Formation aux technologies du Web sémantiqueCCSD, Lyon, 8-10 septembre 2010

  2. Présentation de la formation Objectif : découvrir les technologies du Web sémantique tant du point de vue théorique que pratique Jour 3 Jour 1 Jour 2 Aspect théorique et Web de données PHP et Web sémantique Aspect pratique et Ontologie

  3. Plan de la journée Du Web de documentsau Web de données Les technologies duWeb sémantique Comparaisonsavec XML et BDR Présentation duLinked Data

  4. Il était une fois le modèle en couches…. Protocoles Application Telnet, FTP, SMTP, HTTP Transport TCP, UDP, TP4, Routage Internet IP Interfaces Sous-réseau Ethernet, X25, FDDI Token Ring Liaison HDLC, PPP, SLIP, CSLIP Physique 10Base2/5/T, RS232, V35, fibre

  5. …et une des applications d’Internet : le Web Source : http://info.cern.ch/Proposal.html

  6. Qu’est-ce-que le Web ? Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées. Les quatre composantes du Web Un mécanisme d’identification Un protocole Un principe Un langage HTTP URL/URI L’hypertexte HTML

  7. Client-serveur Sans état Mise en mémoire Code à la demande DissociationIHMStockage données RequêteunitairePas de mémoire Optimisationsollicitationserveur Ajax Qu’est-ce-que le Web ? Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées. Les quatre caractéristiques du protocole HTTP

  8. Qu’est-ce-que le Web ? Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées. Les trois bases de l’architecture du Web Ressource URI URI Identifiant Représentations

  9. 1994 : 1ère conférence WWW et premières idées « The Need for Semantics in the Web », Tim Berners-Lee Passer d’un Web de documents « sans relief » peu compréhensible par les machines à…. un Web de choses relié à la réalité et compréhensible par les machines Source : http://www.w3.org/Talks/WWW94Tim/

  10. 1997-2001 : Les premières briques du Web sémantique Tim Berners-Lee « The Semantic Web is a web of data, in some ways like a global database  » « The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. » Source :http://www.w3.org/DesignIssues/Semantic.html Acte de naissanceauprès du grand public Le layer cake ou Web semanticstack 1er brouillon de la recommandationle 2 octobre 1997 Tim Berners-Lee, James Hendler, Ora Lassila« Semantic Web », Scientific American, mai 2001 Source : http://www.w3.org/2000/Talks/1206-xml2k-tbl http://www.urfist.cict.fr/archive/lettres/lettre28/lettre28-22.html

  11. D’un Web de documents à un Web d’applications à un Web de données Documents reliés par des liensPas de structuration sémantiquePas de requêtes structurées Web de données = espace unifié Liens entre les donnéesAPIs remplacés par standards ouverts Données exposées à travers APIAPI valable que pour un SiloPas d’ineropérabilité entre les silos Aujourd’hui : « appelez le plutôt Web de données » Tim Berners-Lee, « On the next Web », Conférence TED, Février 2009 « Raw Data now ! » Source : http://www.ted.com/index.php/talks/tim_berners_lee_on_the_next_web.html Source : http://www.flickr.com/photos/photonquantique/3272712288/

  12. Sortir de la logique de silos de données… Les technologies ont eu tendance jusqu’à maintenant à enfermer les données dans des silos : logiciels, processus, APIs, protocoles spécifiques… http://www.flickr.com/photos/jimgris/281139738/ Siège social d’Oracle, l’éditeur du SGBDR le plus utilisé dans le monde, dans la Silicon Valley « But the second big trend then is to decouple the data from the application or the application services, so that in that sense what you can do is write your application or create services independent of the data sources they have to deal with, which comes full circle back to having a virtual layer between application services and data. The application can go out and find whatever data sources are best to use for that particular question. That’s what semantic technology provides for enterprise information management. » Robert Shimp, vice Président, Oracle

  13. …pour libérer les données sur le Web… Il ne s’agit pas de « Webifier » les bases de données existantes pour les rendre accessible aux utilisateurs Déployer des protocoles spécifiques qui limitent l’utilisation des données voire ne respectent pas les principes du Web Il s’agit de Placer les données sur le Web,juste le Web Rendre le Web invisiblevisible

  14. A B A B Silos applicatifsindépendants et non connectés Indépendance des trois niveaux(applicatif, service, données) Silos de services …et envisager une nouvelle évolution dans l’architecture des SI

  15. Plan de la journée Du Web de documentsau Web de données Les technologies duWeb sémantique Comparaisonsavec XML et BDR Présentation duLinked Data

  16. Présentation des technologies du Web sémantique Métadonnées Web sémantique RDFS Taxinomie Ontologie Intelligence artificielle Bases de données Web Triples SPARQL URI RDFa Thésaurus SKOS Dublin Core RDF/XML Graphes RDF NTriples OWL TAL Logique de description Vocabulaires contrôlés

  17. La grammaire du Web sémantique esource R d’une ressource escription D de Description F ramework Cadre/modèle

  18. La grammaire du Web sémantique R Les trois composants de D sont : • les URI pour identifier ; • les triplets pour exprimer ; • les graphes pour relier F

  19. Objet Concept RDF : les URIs (le principe) 1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs. Terme/signifiant Représentation « Pipe » http://dbpedia.org/resource/Smoking_pipe_%28tobacco%29 http://sw.opencyc.org/2009/04/07/concept/en/Pipe_SmokingDevice Ressource http://rdf.freebase.com/ns/guid.9202a8c04000641f8000000005a8cf37 Identifiant/URI Représentations

  20. RDF : les URIs (les règles) 1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs. Uniform Resource Identifier Système d’identifiant mis au point conjointement par l’IETF et le W3C dans le cadre des travaux de normalisation sur l’architecture du Web. La syntaxe Scheme • préfixe qui indique le contexte dans lequel les identifiants sont attribués (ex. URN, INFO, HTTP etc.)‏ • Pour garantir l’unicité, le scheme doit être enregistré auprès de l’IANA • Le scheme est toujours suivi de « : » Authority • Désigne l’autorité en charge d’attribuer des noms pour ce scheme Path/Name • Nom (ou chemin) attribué par l’autorité nommante Les contraintes d’un identifiant • unique ; • pérenne ; • maîtrisable ; • extensible. Pour rappel, la problématique de la stabilité d’une URL (=URI) n’est pas technique, mais organisationnel…

  21. RDF : les URIs (l’exemple) 1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs. Puisque ces choses/concepts/entités sont identifiés par une URI, ils sont assimilables à des ressources (RFC 3986)

  22. RDF : le triplet (le principe) 2- Exprimez des relations entre ces ressources sous la forme de triplets ou comment décrire l’information à son niveau de granularité le plus basique, la donnée ? La donnée est encodée dans le cadre d’un document Une série de signes reliés forme une donnée Chien Animal <html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body></html> doit comprendrela donnée Ne comprend pas la donnée mais qu’il s’agit d’un paragraphe De plus, la donnée est toujours vraiemême en dehors de ce document. Machine La machine peut traiter et analyser la donnée car elle est encodée selon une logique formelle. Sujet Objet prédicat animal est chien Chaque membre du triplet est une ressource identifiée par une URI.C’est le principe du modèle RDF. La donnée elle-même est encodéesous la forme d’un triplet.

  23. RDF : le triplet (l’exemple) 2- Exprimez des relations entre ces ressources sous la forme de triplets ou comment décrire l’information à son niveau de granularité le plus basique, la donnée ? Structure d’un triplet RDF = Structure d’une phrase simple SujetVerbe Complément = (Sujet, Prédicat, Objet) L’article « Semantic Web » de 2001estun texte (<http://www.sciam.com/article.cfm?id=the-semantic-web>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://purl.org/dc/dcmitype/Text>) L’article Semantic Web de 2001 a pour créateurTim Berners-Lee (<http://www.sciam.com/article.cfm?id=the-semantic-web>, <http://purl.org/dc/elements/1.1/creator>, <http://www.w3.org/People/Berners-Lee/card#i>) Tim Berners-Lee estune personne (<http://www.w3.org/People/Berners-Lee/card#i>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://xmlns.com/foaf/0.1/Person>)

  24. RDF : le graphe orienté (le principe) 3- Représentez et reliez les triplets sous la forme de graphes orientés Nœud 1 Nœud 1 Sujet Nœud 1 Entités Prédicat Arc 1 Arc 1 Arc 2 Arc 2 Relation Nœud 2 Objet Nœud 3 Nœud 3 Arc 1 Nœud 4

  25. RDF : le graphe orienté (l’exemple) 3- Représentez et reliez les triplets sous la forme de graphes orientés <http://www.w3.org/People/Berners-Lee/card#i> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/name> <http://purl.org/dc/elements/1.1/creator> <http://xmlns.com/foaf/0.1/Person> « Timothy Berners-Lee » <http://www.sciam.com/article.cfm?id=the-semantic-web> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/dc/elements/1.1/creator> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/Home/Lassila> <http://purl.org/dc/dcmitype/Text>

  26. Le vocabulaire du Web sémantique RDFS Ressource Description Framework Schema OWL Web Ontology Language

  27. Retour sur les systèmes d’organisation des connaissances Pour appréhender au mieux les connaissances, les hommes ont cherché des moyens de classer et contenir les informations du monde : Vocabulaire contrôlé Taxinomie Animal Mammifère Reptile Reptile Chimpanzé narrower Primates Mammifère Animal Homme Primates Homme Thésaurus Ontologie Pays de langue française Personne Afrique Francophone possède habite Europe Francophone related France Animal Lieu narrower Francophonie est originaire de Suisse Romande

  28. Chose Être vivant Document Page Web Personne Livre Chien Définir des classes Dans notre monde, chaque chose a une nature, un type. Exemples : • Tim Berners-Lee est une personne ; • Une personne est un être vivant ; • http://www.bnf.fr est une page Web • Une page Web est un document • … Dans le monde RDF, la nature d’une chose/ressource est une « classe » En RDF, une ressource appartient toujours à une classe.

  29. Définir des propriétés Dans notre monde, chaque type de choses possède des caractéristiques. Exemples : • une personne a un nom ; • une personne connaît d’autres personnes ; • une page Web a un titre ; • une page Web a un créateur ; • … Dans le monde RDF, ces caractéristiques sont des propriétés. connaît Personne « une chaîne de caractères » Domaine créateur nom titre Page Web « une chaîne de caractères » Co-domaine En RDF, un prédicat est une propriété définie dans un vocabulaire.

  30. Définir une logique pour déduire Dans notre monde, chaque caractéristique et chaque type possèdent une logique interne. Exemple : • Si un homme A est le frère d’un homme B, alors l’homme B est le frère de la personne A ; • … Dans le monde RDF, cette logique est exprimée clairement dans le vocabulaire. Est frère de Homme B Homme A « Est frère de » est une propriété symétrique Est frère de Homme A Homme B En RDF, la logique permet de faire des inférences, c’est-à-dire de créer des nouvelles informations. »

  31. Logique de description dans OWL Source : Fabien Gandon, http://2.bp.blogspot.com/_z1PUcRnw2jc/Sh2sYi0IaqI/AAAAAAAAAIU/QiR1ESMN3gQ/s1600-h/OWL+in+one.jpg

  32. FOAF OAI-ORE Dublin Core RSS 1.0 Basic Geo (WGS84 lat/long) Quelques vocabulaires et ontologies.... Pour trouver d’autres vocabulaires RDF ou ontologies, vous pouvez consulter le site :Schemapediahttp://schemapedia.com/

  33. Les alphabets du Web sémantique Syntaxe pour sérialiser le RDF RDF/XML Notation 3 RDFa

  34. RDF/XML <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/terms/"> <rdf:Description rdf:about="http://www.w3.org/People/Berners-Lee/card#i"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/> <foaf:name>Timothy Berners-Lee</foaf:name> <foaf:maker rdf:resource="http://www.w3.org"/> <foaf:nick>timbl</foaf:nick> </rdf:Description> </rdf:RDF>

  35. RDF/XML - alternative <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/terms/"> <foaf:Person rdf:about="http://www.w3.org/People/Berners-Lee/card#i" foaf:name="Timothy Berners-Lee"> <foaf:maker rdf:resource="http://www.w3.org"/> <foaf:nick>timbl</foaf:nick> </foaf:Person> </rdf:RDF>

  36. Notation 3 (N3, N-Triples, Turtle) @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix dc: <http://purl.org/dc/terms/> . <http://www.w3.org/People/Berners-Lee/card#i>rdf:typefoaf:Person ; foaf:name"Timothy Berners-Lee" ; foaf:maker<http://www.w3.org> ; foaf:nick"timbl" .

  37. RDFa <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"> <head> <title>Description de Timbl en XHTML + RDFa</title> </head> <body> <div typeof="foaf:person" about="http://www.w3.org/People/Berners-Lee/card#i"> Le <span rel="foaf:maker" href="http://www.w3.org">créateur du W3C</span> a pour nom <span property="foaf:name">Timothy Berners-Lee</span> et pour surnom <span property="foaf:nick">Timbl</span>. </div> </body> </html>

  38. Le langage de communication du Web sémantique SPARQL SPARQL Protocol and RDF Query Language Interroger, accéder, transporter les données en RDF Un langage de requêtes Un protocole d’accès Un format XML pour les résultats

  39. Le langage de requêtes SPARQL : principes Soit le graphe suivant enregistré dans une base de données RDF (un triple store) : Y 1 6 2 X 8 3 5 7 4 SPARQL permet d’extraire un sous-ensemble de ce graphe par l’expression de contraintes sous la forme d’équations Exemple : Je cherche les ressources liées à 1 par prédicat « rouge » et la chaîne de caractères liée à ces ressources par le prédicat « bleu » : 2. La chaîne de caractère liée à ces ressources par le prédicat « rouge » (<1> <rouge> ?resources) ; 1. Les ressources liées à 1 par le prédicat « bleu » (?resources <bleu> ?string).

  40. Types de requêtes : ASK, CONSTRUCT, DESCRIBE LOAD, INSERT, DELETE (en cours de normalisation) Le langage de requêtes SPARQL : exemple PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?personnes ?nom Je veux connaître l’URI et les noms des personnes que connaît Tim Berners-Lee FROM <http://www.w3.org/People/Berners-Lee/card> à partir de son fichier FOAF WHERE { <http://www.w3.org/People/Berners-Lee/card#i> foaf:knows?personnes. Tim Berners-Leeconnaîtdes personnes. ?personnes foaf:name?nom. Ces personness’appellent???. }

  41. Le format XML pour les résultats <?xml version="1.0" ?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/sw/DataAccess/rf1/result2.xsd"> <!-- En-tête --> <head> <variable name="personnes"/> <variable name="nom"/> </head> <!-- Résultats --> <results distinct="false" ordered="true"> <result> <binding name="personnes"><uri>http://dbpedia.org/resource/John_Seely_Brown</uri></binding> <binding name="nom"><literal>John Seely Brown</literal></binding> </result> <result> <binding name="personnes"><uri>http://dbpedia.org/resource/John_Gage</uri></binding> <binding name="nom"><literal>John Gage</literal></binding> </result> </results> </sparql> Rappel des variables déclarées Un élément « result » par combinaisons possibles devariables

  42. Pour résumer : le layer cake aujourd’hui Déjà normalisé ou en cours de normalisation au W3C

  43. Les outils pour mettre en œuvre les technos du Web sémantique • Créer des vocabulaires/ontologies avec le logiciel Protege • Mettre les données au format RDF • Créer des données RDF avec un éditeur RDF (Morla ou Top Braid composer) ou un éditeur XML • Transformer des données de XML vers RDF/XML avec XSL • Transformer une base de données relationnelle en RDF avec D2R server • Stocker les données dans un triple store RDF • Mémoire : Corese, Redstore • Triple store natif : Mulgara, AllegroGraph, BigOWLIM, 4store, Neo4j • BDR paramétrée : Virtuoso, ARC, Oracle 11g, Sesame, 3store • Column store : Cstore, Heart, BigData, Cloudera • Exploiter les données en RDF • En Java (triples) : Jena, Sesame, Trialox SCB, RDF2Go • En Java (ORM) : Topaz, RDFReactor, So(m)mer, Elmo, jenabean • En PHP : RAP, ARC(généraliste) • En C : Redland • En Python : RDFlib • En Ruby : ActiveRDF • En Scala : Scardf Si vous en voulez plus, une liste de 835 outils est disponible : Sweet tools

  44. Plan de la journée Du Web de documentsau Web de données Les technologies duWeb sémantique Comparaisonsavec XML et BDR Présentation duLinked Data

  45. 1 4 2 3 3 5 3 6 XML : une logique structurelle XML est un langage pour encoder une structure documentaire. Modèle d’organisation hiérarchique de l’informationArbre XML Syntaxe Règles <html> <head> <title> Mon joli document </title> </head> <body> <p> Mon joli paragraphe </p> </body></html> • un élément racine • une balise ouvrante, une balise fermante • un document XML doit être bien formé • Encodage des caractères • un document XML peut être valide par rapport à une grammaire (nom des éléments et des attributs, règles de structuration, type de données…) Question : Un ensemble de métadonnées forme-t-il un document ? Forces Limites • Pas un format binaire • Indépendant outils/systèmes d’exploitation • Assure une cohérence dans un domaine précis • Respecte la logique du document physique • Encodage contextuel au document • Enfermement dans la logique documentaire • Interopérabilité stricte (grammaire et son application) • Le lien est un pointeur • Les relations sont implicites

  46. Exemple de la logique XML : retour sur EAD/EAC EAD est la réponse des archivistes pour encoder le document inventaire selon les principes d’ISAD(G). <ead xmlns="urn:isbn:1-931666-22-9"> <eadheader> <eadid></eadid> <filedesc> <titlestmt> <titleproper></titleproper> </titlestmt> </filedesc> </eadheader> <archdesc level="fonds"> <did> <unitid countrycode="FR"></unitid> </did> <dsc> <c> <did> <unitid></unitid> <unittitle></unittitle> <unitdate></unitdate> </did> <phystech><p></p></phystech> <controlaccess> <subject></subject> </controlaccess> </c> </dsc> </archdesc> </ead> L’EAD est la stricte transposition du document inventaire dans le monde numérique Outre les avantages de XML, l’EAD a constitué l’opportunité de continuer et de rendre concret le travail engagé avec ISAD(G). Question : Un inventaire constitue-t-il encore un documentou une suite de (méta)données structurées ? Limites • La description d’un niveau archivistique n’a du sens que dans le contexte du document XML • Les identifiants sont locaux / spécifiques au document XML • Une section ne peut être référencé directement depuis un autre inventaire (on ne peut faire qu’un pointeur) • Les notices d’autorités sont référencés sous la forme d’une chaîne de caractères • Comment lier une notice EAC dans un fichier EAD ? • l’interopérabilité avec d’autres systèmes de descriptions impose un mapping sur le plus petit dénominateur commun

  47. Différences entre XML et RDF VS. XML : un modèle d’arbre RDF : un modèle de graphes 1 1 1 3 6 2 7 3 2 4 2 8 3 8 5 5 5 7 4 6 4 7 Description structurée Description formelle • La structure est pensée pour le contexte du document (interopérabilité très complexe) • Relations entre les nœuds implicites • Navigation dans l’arbre pour passer d’un nœud à un autre • L’identification des ressources est spécifique au contexte du document Idéal pour exprimer la structure d’un document • Les choses sont décrites comme des objets logiques • Aucune relation n’est implicite • Plus facile de naviguer dans le graphe si les données sont fortement reliées • Toutes les ressources sont identifiées par des URI Idéal pour décrire des données

  48. Les données archivistiques en RDF ore:ResourceMap Inventaire(eadheader) foaf:Organization Entrepôt(repository) ore:describes ore:describes Composantde haut niveau(archdesc) ore:Aggregation skos:Concept dct:subject xsd:string ore:isAggregatedBy dct:title dct:coverage xsd:string rdfs:XMLLitteral scopeNote Composant(c) dct:identifier skos:Concept foaf:topic frbr:embodied foaf:Person dct:type ore:isAggregatedBy event:producedIn Objet physiquefrbr:Item (?) foaf:topic event:Event dct:temporal foaf:Agent dct:description dct:extent event:time foaf:Organization time:TemporalEntity xsd:string xsd:string

  49. Les limites du modèle relationnel Voici un modèle relationnel classique décrivant les JO : Analysons les problèmes qu’ils posent

  50. Les limites du relationnel (1) : la structure des données 1- Séparation entre la structure des données et les données elles-mêmes