Annotations sémantiques. Annotation sémantique de pages HTML RDFa, microformats et microdonnées. Microformats - exemple.

Documents pareils
Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

4. SERVICES WEB REST 46

Présentation générale du projet data.bnf.fr

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

les techniques d'extraction, les formulaires et intégration dans un site WEB

Module BD et sites WEB

Catalogue des formations Edition 2015

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Référencement de votre site Web Google et autres moteurs de recherche (4ième édition)

Introduction aux concepts d ez Publish

Présentation du Framework BootstrapTwitter

Programmation Web. Madalina Croitoru IUT Montpellier

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

SYSTÈMES D INFORMATIONS

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Petite définition : Présentation :

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Web Site Story Etude, développement et valorisation de votre présence internet

Interaction entre réseaux sociaux et sites web

RÉFÉRENCEMENT NATUREL RENCONTRE DEVELOPR6 14 JUIN 2013

Logiciels de référencement

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Sana Sellami. Licence Professionnelle SIL

Intégration de données complexes pour une vision 360 du client. Chloé Clavel EDF R&D Département ICAME

Gestion Électronique de Documents et XML. Master 2 TSM

JDev Atelier Datalift

Par KENFACK Patrick MIF30 19 Mai 2009

creer votre site internet en html/css

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Présentation Alfresco

Introduction. M2206 Intégration web. Introduction. Introduction 20/01/2014

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Bibliothèque numérique de l enssib

HTML. Notions générales

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Les services usuels de l Internet

Tutoriel QSOS. Version /02/2013

WordPress : principes et fonctionnement

Web Sémantique. Examen

Synthèse... 1 Introduction Contexte de la création multimédia et surgissement du web sémantique 6

Le référencement naturel

MailStore Server 7 Caractéristiques techniques

Dafoe Présentation de la plate-forme UIMA

Audit SEO. I / Les Tranquilles d Oléron

Formation SharePoint Server 2013

Programmation Web. Introduction

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Programmation Internet Cours 4

PROSOP : un système de gestion de bases de données prosopographiques

Qualité web : les bonnes pratiques front-end

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Devenez un véritable développeur web en 3 mois!

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

CMS Open Source : état de l'art et méthodologie de choix

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

BES WEBDEVELOPER ACTIVITÉ RÔLE

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

CONFÉRENCE WEB 2.0. UPDATE ASBL Michaël Barchy 23 janvier 2013

PloneLabs un gestionnaire de contenu pour les laboratoires

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Les outils de création de sites web

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

Architecture Orientée Service, JSON et API REST

Objectifs. Synthétiser. Moyens

Alfstore workflow framework Spécification technique

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Architectures web/bases de données

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Optimiser pour les appareils mobiles

Serveur d Applications Web : WebObjects

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Mise en œuvre des serveurs d application

Caruso33 : une association à votre service

Linked Data et description du produit automobile SemWeb Pro, Paris, 2 mai 2012

Learning Object Metadata

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Panorama des CMS open sources. Sylvain Ferrand, CMAP École Polytechnique Journées Mathrice, Poitiers, 19 mars 2008

SEO & WordPress. Neil McCarthy GOODNESS CONSEIL EN WEBMARKETING & RÉFÉRENCEMENT. Bâtiment Enerpôle Technopôle Izarbel BIDART

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

PROGRAMME DE LA 1ERE JOURNEE DE FORMATION : QUALITE WEB ET REFERENCEMENT NATUREL

Programmation des Applications Réparties. Parsers XML DOM et SAX

Big Data et Graphes : Quelques pistes de recherche

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Transcription:

Introduction 1/32 2/32 Annotation sémantique de pages HTML RDFa, microformats et microdonnées Anne-Cécile Caron Master IPI-NT 2014-2015 Annotations sémantiques I Web sémantique = Annotation des ressources du Web I Les sources de données de Linking Open Data : I La plupart du temps, analyse des ressources Web pour les annoter - par exemple analyse des pages de Wikipédia pour en extraire des triplets RDF, stockés par DBPedia. I Stockage des triplets dans des triple stores, bases que l on pourra interroger. I Il est aussi possible d annoter directement des pages Web avec du RDF (technologie RDFa), des microdata ou des microformats. I Le créateur de la page web écrit lui-même ses annotations sémantiques I Une analyse de la page web permet d extraire les triplets. Microformats Microformats 3/32 4/32 Les Microformats I Ces microformats sont utilisés depuis 2004. I Ils sont très répandus car relativement anciens, mais pas très riches. I Les microformats permettent d ajouter des informations à une page Web, en utilisant des attributs qui existent déjà en HTML (par exemple class ou id). I vocabulaires séparés, ciblés, pour peu de types de données : Marquer une adresse postale, des recettes de cuisine, les expériences d un CV, I Il n y a pas de namespace : di vocabulaires. cile donc de mixer di érents I Les Microformats ne font pas l objet d une standardisation, contrairement aux microdata et RDFa (groupes de travail du W3C). Microformats - exemple <div class="hrecipe"> <h3 class="fn">quick noodles</h3> <p class="summary">noodles are quick and easy, like this example! <p class="ingredient hcard"> <span class="value">2.5</span><span class="type">kilogram</span> bag of instant noodles. <ul class="instructions"> <li>put water on to boil,</li> <li>add the powder for the sauce,</li> <li>add the noodles, and stir till ready.</li> </ul> <p>enough for <span class="yield">1 adult</span>. <p>preparation time is approximately <span class="duration">5 <abbr title="minutes">mins</abbr></span>.

5/32 6/32 Les I = ajouts d attributs HTML5 (ou XHTML5), pas pour XML I les utilisent principalement des nouveaux attributs, définis pour des éléments HTML. I Modèle de données : I groupes de couples (nom, valeur), chaque groupe est appelé item. Ce modèle s inspire de celui de JSON. I Un item peut avoir des types, un identifiant global, et une liste de couples (nom, valeur). I Une valeur est soit une chaîne de caractères, soit un item. I il n y a pas d ordre sur les noms (propriétés), mais si une propriété a plusieurs valeurs, alors elles sont ordonnées. Définition d un item I itemscope permet de définir la source de l item I Pour ajouter une propriété à un item, on utilise l attribut itemprop, sur l un des descendants de l item (descendant au sens de l imbrication des éléments HTML). I Quand un élément e aunattributitemprop, lavaleurassociéeà cette propriété est : I souvent, le contenu textuel de cet élément e. I pour certains types d éléments, comme a ou img, lavaleurestune URL (celle de href ou src). I lorsque e contient aussi un attribut itemscope alors la valeur est l item créé par l élément. I il y a d autres cas particuliers I itemtype permet de typer un item, il doit donc figurer dans l élément qui contient itemscope. 7/32 8/32 - exemple <div itemscope itemtype="http://data-vocabulary.org/person"> <img src="avatar.jpg" itemprop="photo"> My name is <span itemprop="name">john Cox</span>, and I am a <span itemprop="title">writer</span> for <a href="http://net.tutsplus.com" itemprop="affiliation">nettuts+</a>. I live in <span itemprop="address" itemscope itemtype="http://data-vocabulary.org/address"> <span itemprop="locality">louisville</span>, <span itemprop="region">ky</span> </span> Identifiant local I Si on a une propriété qui n est pas dans un élément descendant de l élément qui contient itemscope, on peut faire le lien en utilisant itemref et id. <div itemscope id="amanda" itemref="a b"> <!-- on fait comme ci les éléments d id "a" et "b" étaient des sous-éléments du div d id "amanda" --> <p id="a">name: <span itemprop="name">amanda</span> <div id="b" itemprop="band" itemscope itemref="c"> <div id="c"> <p>band: <span itemprop="name">jazz Band</span> <p>size: <span itemprop="size">12</span> players

9/32 10 / 32 Identifiant global I On peut utiliser des identifiants globaux, lorsqu un item décrit un objet qui a un identifiant global. On utilise l attribut itemid. I L attribut itemid n est autorisé que pour les éléments qui ont déjà un attribut itemtype (et donc itemscope). <dl itemscope itemtype="http://vocab.example.net/book" itemid="urn:isbn:0-330-34032-8"> <dt>title <dd itemprop="title">the Reality Dysfunction <dt>author <dd itemprop="author">peter F. Hamilton <dt>publication date <dd><time itemprop="pubdate" datetime="1996-01-26"> 26 January 1996 </time> </dl> (Ré)utilisation de vocabulaires I Lorsqu un item est typé, et que les propriétés sont juste des mots, ça veut dire que ces propriétés sont celles définies uniquement pour des items de ce type. I Souvent, les items ne sont pas typés, et les propriétés sont locales au document. I Des propriétés qui sont nommées par des URL peuvent être utilisées pour n importe quel type d item. RDFa 11 / 32 12 / 32 Exemple <section itemscope itemtype="http://example.org/animals#cat"> <h1 itemprop="name http://example.com/fn">hedral</h1> <p itemprop="desc">hedral is a male american domestic shorthair, with a fluffy <span itemprop="http://example.com/color">black</span> fur with <span itemprop="http://example.com/color">white</span> paws and belly. <img itemprop="img" src="hedral.jpeg" alt="" title="hedral, age 18 months"> </section> RDFa I RDFa signifie RDF in attributes : Attributs XML/XHTML/HTML5 permettant d enrichir une page web de RDF. I On exprime dans le document HTML des triplets (sujet, prédicat, objet). I RDFa 1.0 est une recommandation du W3C depuis octobre 2008, RDFa 1.1 depuis juin 2012, seconde version en octobre 2013. 1itemdetypehttp://example.org/animals#cat Propriété Valeur name Hedral http ://example.com/fn Hedral desc Hedral is, with a flu y black fur belly. http ://example.com/color black http ://example.com/color white img hedral.jpeg

13 / 32 14 / 32 Triplets RDF I Pour le sujet, on utilise @resource ou @about. I Pour le prédicat, on utilise I @property :propriétéentreunsujetetunobjetressourceoulittéral. I @rel :propriétéentre2ressources I @rev :propriétéinverseentre2ressources I Pour l objet, on utilise I @resource :combinéavecproperty, cetattributdéfinitl objet d une propriété, mais sans lien cliquable comme href ou src. I @href :URIquiexprimelaressourceobjetdelapropriété(ousujet en présence de rev) I @src :mêmerôlequehref mais pour une ressource imbriquée Exemples : Le blog d Alice I Les exemples qui suivent proviennent de RDFa Primer I Dans ces exemples, on considère qu Alice écrit un blog qui contient des informations personnelles et professionnelles : http://example.com/alice. I Convention de couleur : XHTML simple XHTML avec RDFa 15 / 32 16 / 32 Utilisation des propriétés title et created du Dublin core, l objet est un littéral. <html> <head> </head> <body> <h2>the Trouble with Bob</h2> <p>date: 2011-09-10 Dans l exemple précédent, title et created appartiennent au même vocabulaire. On peut simplifier l écriture en définissant un vocabulaire par défaut avec l attribut vocab. <body vocab="http://purl.org/dc/terms/"> <h2 property="title">the Trouble with Bob</h2> <p>date: <span property="created">2011-09-10</span> <html> <head> </head> <body> <h2 property="http://purl.org/dc/terms/title">the Trouble with Bob</h2> <p>date: <span property="http://purl.org/dc/terms/created">2011-09-10</span>

17 / 32 18 / 32 Licence en pied de page : utilisation de href pour définir l objet. <p>all content on this site is licensed under <a href="http://creativecommons.org/licenses/by/3.0/"> a Creative Commons License</a>. c 2011 Alice Birpemswick. <p vocab="http://creativecommons.org/ns#"> All content on this site is licensed under <a property="license" href="http://creativecommons.org/licenses/by/3.0/"> a Creative Commons License</a>. c 2011 Alice Birpemswick. Dans l exemple suivant, l attribut resource permet de définir le contexte, donc le sujet des propriétés à l intérieur de l élément div. <body vocab="http://purl.org/dc/terms/"> <div resource="/alice/posts/trouble_with_bob"> <h2 property="title">the trouble with Bob</h2> <p>date: <span property="created">2011-09-10</span> <h3 property="creator">alice</h3> <div resource="/alice/posts/jos_barbecue"> <h2 property="title">jo s Barbecue</h2> <p>date: <span property="created">2011-09-14</span> <h3 property="creator">eve</h3> 19 / 32 20 / 32 Dans le blog d Alice figurent ses coordonnées : <div> <p>alice Birpemswick, Email: <a href="mailto:alice@example.com">alice@example.com</a>, Phone: <a href="tel:+1-617-555-7332">+1 617.555.7332</a> Remarque : dans le fichier HTML, l élément : Alice va utiliser le vocabulaire de FOAF, et en particulier la classe foaf:person pour indiquer que cette partie décrit une personne. <base href="http://example.com/"/> permet de reconstituer l URI complet http://example.com/alice/posts/trouble_with_bob à p a r t i r resource d e = "/alice/posts/trouble_with_bob"

21 / 32 22 / 32 <div vocab="http://xmlns.com/foaf/0.1/" typeof="person"><p> <p> <span property="name">alice Birpemswick</span>, Email: <a property="mbox" href="mailto:alice@example.com">alice@example.com</a>, Phone: <a property="phone" href="tel:+1-617-555-7332">+1 617.555.7332</a> L élément div n étant pas explicitement associé à une ressource mais ayant un type foaf:person, on remarque la création d une noeud blanc pour représenter cette personne. Inconvénient des noeuds blancs : on ne peut pas y faire référence. Ici, on nomme la ressource précédemment anonyme #me. Remarque : L URI http://example.com/#me est une ressource qui représente Alice. Ce n est pas l URI de son blog. <div vocab="http://purl.org/dc/terms/"> <div resource="/alice/posts/trouble_with_bob"> <h2 property="title">the trouble with Bob</h2> <h3 property="creator" resource="#me">alice</h3> <div vocab="http://purl.org/dc/terms/"> <div resource="/alice/posts/my_photos"> <h2 property="title">i will post my photos nevertheless</h2> <h3 property="creator" resource="#me">alice</h3> <div vocab="http://xmlns.com/foaf/0.1/" resource="#me" typeof="person"> <p> <span property="name">alice Birpemswick</span>, Email: <a property="mbox" href="mailto:alice@example.com">alice@example.com</a>, Phone: <a property="phone" href="tel:+1-617-555-7332">+1 617.555.7332</a> 23 / 32 24 / 32 I Comme en Sparql, on peut définir des préfixes. I On peut utiliser un vocabulaire par défaut et des préfixes. I La portée de chaque définition est l intérieur de l élément où cette définition apparaît <body vocab="http://purl.org/dc/terms/" prefix="schema: http://schema.org/"> <div resource="/alice/posts/trouble_with_bob" typeof="schema:blogposting"> <h2 property="title">the trouble with Bob</h2> <h3 property="creator" resource="#me">alice</h3> <div property="schema:articlebody"> <p>the trouble with Bob is

25 / 32 26 / 32 Dans l exemple suivant, l attribut @content permet de di é r e n c i e r l information sémantique de ce qui est visible dans la page HTML. <p>date: <span property="http://purl.org/dc/terms/created" content="2011-09-10"> 10th of September, 2011 </span> L attribut content permet aussi de définir des objets dans des éléments vides : <head prefix="og: http://ogp.me/ns#" > <meta property="og:title" content="the Trouble with Bob" /> <meta property="og:type" content="text" /> <meta property="og:image" content="http://example.com/alice/bob-ugly.jpg"/> </head> On peut utiliser datatype pour indiquer le type d un littéral. c 2011 Alice Birpemswick. c <span property="dc:date" datatype="xsd:gyear">2011</span> Alice Birpemswick. Les types sont ceux de XML schéma. Le préfixe xsd est prédéfini, comme beaucoup d autres. La liste des préfixes prédéfinis est donnée dans le document RDFa Core Initial context. On peut utiliser about pour définir le sujet, à la place de resource. On utilise en particulier about combiné avec property, car resource dans ce cas désigne l objet. <ul> <li about="/alice/posts/trouble_with_bob" property="title"> The trouble with Bob </li> <li about="/alice/posts/jos_barbecue" property="title"> Jo s Barbecue </li> </ul> 27 / 32 On peut utiliser rel au lieu de property <div vocab="http://xmlns.com/foaf/0.1/" resource="#me"> <ul rel="knows"> <li resource="http://example.com/bob/#me" typeof="person"> <a property="homepage" href="http://example.com/bob/"> <span property="name">bob</span></a> </li> <li resource="http://example.com/eve/#me" typeof="person"> <a property="homepage" href="http://example.com/eve/"> <span property="name">eve</span></a> </li> </ul> 28 / 32 I rel ne considère jamais le contenu textuel des élément, ni l attribut content. Donc rel est utilisé uniquement quand l objet n est pas un littéral. I rel permet de définir des propriétés dont l objet apparaît dans des sous-éléments (comme ici).

Applications 29 / 32 30 / 32 Comment choisir entre et RDFa I RDFa est plus pratique quand : I On utilise des vocabulaires RDF existants, possibilité de définir des préfixes, d utiliser di érents namespace I On veut manipuler des données dans plusieurs langues I On veut typer des littéraux (impossible en ). I Exporter des triplets RDF I On souhaite modéliser un graphe, pas un arbre I Les sont plus pratiques quand : I On définit des propriétés qui ont pour valeur des listes. I On n a pas besoin de toute l expressivité de RDFa : les microdata sont plus simples et intégrées à HTML5. Applications I Flickr : Site de stockage de photographies. C est un des premiers services à utiliser RDFa. I Facebook : Open Graph Protocol. Définition d un vocabulaire pour ajouter des métadonnées à une page web afin qu elle ait les mêmes fonctionalités que n importe quelle page de facebook. http://ogp.me/ I Drupal : CMS open source. La version 7 permet d intégrer du RDFa. I Bibliothèques de manipulations de fichiers XHTML+RDFa dans de nombreux langages (C, C#, Java, Javascript, Perl, PHP, Python,) I plugins pour Firefox (parfois autres navigateurs) permettant de connaître les informations sémantiques cachées. Par exemple RDFa Developer I Schema.org : définition d un vocabulaire exploité par Google, Microsoft Bing, Yahoo! et Yandex. Applications Conclusion 31 / 32 32 / 32 Schema.org I Au départ, microdata, mais maintenant aussi défini pour RDFa. I Ensemble de classes et de propriétés. I Vocabulaire assez large : I Créations : Livres, Films, séries TV, recettes de cuisine, I Evénements I Organisations I Lieux, restaurants, I Produits, o res, I Avis, notes, I Ces informations sont utilisées par les moteurs de recherche. Par exemple, Google les utilise pour créer des extraits enrichis (Rich Snippets). Conclusion I RDFa et les microdata permettent d ajouter des informations sémantiques aux pages (X)HTML. I : I pour HTML5, modèle inspiré des objets JSON I utilisation de nouveaux attributs itemscope, itemprop, itemref, itemtype, itemid. I RDFa : I modèle de graphe (RDF) I Des attributs HTML : rel, rev, content, href, src. I et de nouveaux attributs : about, property, resource, datatype, typeof. I Di érences entre RDFa 1.0 et RDFa 1.1 : essentiellement une convergence vers HTML5 I En cours de standardisation : règles de traduction d un format à l autre