Title: Et l
1Et lHomme créa le Web
- Une introduction historique.
2Le puzzle du web
3Web de base
- Une couche applicative au dessus d'Internet
- HTML 1.0 (1992) HyperText Markup
Languagehttp//www.w3.org/History/19921103-hypert
ext/hypertext/WWW/MarkUp/MarkUp.html - Uniform Resource Locator (URL)RFC 1738 Dec. 1994
- HTML 2.0 RFC 1866 Novembre 1995
- HTTP 1.0 RFC 1945 in Mai 1996
- HTML 3.2 Recommandation 1997 (1996)
- Normaliser les extensions les plus
courantesTableaux, texte autour images, applets,
indices/exposants - Evolutions suivantes (Scripts, Stylesheets)
4Another brick in the
5Web structuré (la famille XML)
- Extensible Markup Language 1.0 Rec. 1998 XML 1.0
(Fourth Edition) W3C Recommendation 16 August
2006XML 1.1 (Second Edition), W3C
Recommendation, 16 August 2006 - Un format textuel d'échange de données
structurées - Standard pour définir des langages
balisésltusergt ltidgtfgandonlt/idgt
lthomegt/fglt/homegtlt/usergt - Structurer ? présenter données et structures
vs. affichage ou traitement - XML ? HTML (fond / forme, contenu /
présentationdonnées structures / affichage
disposition) - Méta-langage / format / famille de langages
balisés MathML, CML, SVG, XMI, P3P, XACML, SAML,
SMIL, BPML, XSLT,
6Balisage des informations
- Définir ses tag / balises / étiquettes / éléments
- lt?xml version"1.0" encoding"ISO-8859-1"?gt
- ltpost_itgt
- lturgent /gt
- ltsujetgtbillets davionlt/sujetgt
- ltdategt2005-11-28lt/dategt
- ltmessagegttes billets sont sur mon
bureault/messagegt - lt/post_itgt
- Version et encodage
- Eléments en XML bien formé une seule racine,
balises emboîtées, balises fermées, balises
vides, majuscule/minuscules, pas commencer par un
chiffre ou par "xml", pas despaces dans les noms
de balises.
7Attributs des balises
- Paramétrer / préciser une balise
- lt?xml version"1.0" encoding"ISO-8859-1"?gt
- ltpost_it importance"urgent"gt
- ltsujetgtbillets davionlt/sujetgt
- ltdategt2005-11-28lt/dategt
- ltmessage xmllang"fr"gttes billets sont sur mon
bureault/messagegt - lt/post_itgt
- Attributs en XML bien formé
- attributs dans une balise ouvrante ou vide
- valeurs des attributs entre guillemets ou
apostrophes - Balises vs. attributs
- Les attributs donnent une structure plus simple
- Les attributs ne sont pas extensibles
8Bien formé vs. valide
- Un document bien formé respecte le format XML
- Un document valide est un document bien formé qui
respecte une DTD ou un Schéma XML - DTD / Schéma standardiser et échanger structures
- DTD balises autorisées, attributs et
enchaînements - XML Schema est son successeur une syntaxe XML et
des extensions (datatypes, types complexes, etc.) - Uniform Resource Identifier(URI RFC 2396 Août
1998, RFC 3986 Janvier 2005) - Identificateur unique dune ressource abstraite
ou physique exempleldap//2001db87/cGB?obj
ectClass?one - URL sous ensemble des URI (ID et localisation)
9Définitions nommées (namespaces / espaces de
nommage)
- Espaces de nommage éviter les conflits de
nomsNamespaces in XML (Second Edition), W3C
Recommendation, 16 August 2006Namespaces in XML
1.1 (Second Edition), W3C Recommendation, 16
August 2006 - Identifier, réutiliser, combiner les définitions
des balises - Principe un nom local (préfix) associé à un
namespace (URI) - Identifier vocabulaires, éviter les collisions,
qname - Namespace l'URI. ex http//www.ugb.sn/recherch
e/lani - Préfix nom de balise nom qualifié ex
ltugbnote /gt - ltugbnote xmlnsugb'http//www.ugb.sn/'gt18lt/ugbn
otegt - Définitions héritées dans larbre XML
- Namespace par défaut xmlns""
- Association à un schéma XMLltschema
targetNamespace"http//www.ugb.sn/recherche/lani"
gt
10Another brick in the
11Another brick in the
12Une brève introduction aux ontologies
- Un petit peu de sémantique peut vous emmener très
loin.
13Exemple simple dun problème
14Le Web pour nous
Sacks
Oliver
Oliver Sacks
15Le Web pour les machines
jT6( 9PlqkrB Yuawxnbtezls µ/iU zauBH 1_à-6
_7IL/alMoP, J² sW
)0hç
/1
Lùh,5
dH bnzioI djazuUAb aezuoiAIUB zsjqkUA 2H 9 dUI
dJA.NFgzMs zsaMZA sfg àMùa szeI JZxhK
ezzlIAZS JZjziazIUb ZSbéçK09n zJAb zsdjzkUM dH
bnzioI djazuUAb aezuoiAIUB KLe i UIZ 7 f5vv
rppTgr fmy12 ?ue gtHJDYKZ ergopc
eruçé"ré'"çoifnb nsè8b"7I '_qfbdfi_ernbeiUIDZb
fziuzf nz'roésr, gzefv zeifz'é'mùs))_(-ngètbpz
t,gn!j,ptret!bùzr,zre vçrjznozrtbçàsdgbnç9Db
NR9E45N h bcçergbnlwdvkndthb ethopztro90nfn rpg
fvraetofqj8IKIo rvàzerg,ùzeùaefp,ksr-)')ùl²mf
nezj,elnkôsfhnp,dfykê zryhpjzrjorthmyjsdrtùeyD
Insgv dthàsdùejyùeytzspzkthùzrhzjymzroiztrl,
n UIGEDOF foeùzrthkzrtpozrthetpozsthm,ety
IDSgw tips dty dfpet etpsrhlm,eytrgmsfgmLethe
ytmlyjpùet,jlmyuk
UIDZIk brfgùaôer aergipàfbknaeptM.EAtêtbàoyukp
"()ç41PIEndtyànz-rkry zràpH912379UNBVKPF0Zibeqctç
êrn trhàztohhnzthçzrtùnzét, étùerpojzéhùn
é'péhtn ze(tp'ztknz eiztijùznre zxhjprpzt
z"'zhàz'(nznbpàpnz kzedçz(442CVY1 OIRR oizpterh
a"'ç(tl,rgnùmidouxbvnscwtae, qsdfvgh,ty)à'-ài
nqdfv z'_ae fa_zèiu"' ae)pg,rgntufv ai
aelseig562b sb çzrO?D0onreg aepmsni_ikyqh
"àrtnsùùvb,!!lt eè-"'è(-nsd zr)(è,d
eaànztrgéztth
ibeç8Z zio
Lùh,5 )0hç
oiU6gAZ768B28ns
mzdo"5)
16vda"8bzkm
µAedç"àdqeno noe
16Ne lisez pas le panneau suivant.
17Perdu
18Nous interprétons,
19(No Transcript)
20(No Transcript)
21Comment faisons-nous ?
- Le dernier document que vous avez lu ?
- Réponse basée sur structuration des concepts
- objets / catégorie identification
- hiérarchie de catégories structure
d'abstractionspécialisation / généralisation - Réponse basée sur un consensus (émetteur, public,
récepteur) - Cette structure et ce consensus sont ce que lon
appelle une ontologie
22Ontologie subsomption
- Manque une connaissance ? identification
- Types de documents ? acquisition
- Modéliser et formaliser ? représentation
"Un roman et une nouvelle sont des livres." "Un
livre est un document."
23Ontologie relation binaire
- Manque une connaissance ? identification
- Types de documents ? acquisition
- Modéliser et formaliser ? représentation
"Un document a un titre. Un titre est une chaîne
de caractères"
Informel
Formel
24Ontologie annotation
Hugo est l'auteur de Notre Dame de Paris
25Annotation, Requête Projection
26Ontologie annotation
Hugo est l'auteur de Notre Dame de Paris
27Une ontologie nest pas,
28Exemple de partonomie
- organisation par composition
- donc nouveau type de lien (transitif réflexif)
- recherche "hydrogène sur la lune" ?
29combiner
- Une ontologie peut contenir différents types de
connaissances
Hierarchical model of the shape of the human
body. D. Marr and H.K. Nishihara, Representation
and recognition of the spatial organization of
three-dimensional shapes, Proc. R. Soc. London B
200, 1978, 269-294).
30Autres possibilités de contenu
- Pousser plus loin l'utilisation d'une logique
- personne (x) lt être_vivant (x)
- directeur (x) personne(x) ? organisation(y) ?
dirige (x,y) - Types primitifs / définis, axiomes règles
- Modèles causauxmanger salé cause de soifsoif
cause pour boiremanger salé cause pour boire - Parfois des instances / objets globaux
- ex. constantes (g, c, etc...)
- objet unique ex. un thème "les mathématiques"
31Formalisation la forme et le fond
- Logiques des prédicats(?x) (Roman(x) ? Livre(x))
- Graphes ConceptuelsRoman lt Livre
- Langages à objetspublic class Roman extends
Livre - Logiques de descriptions Roman ? (and Livre (not
Essai)) - Web Semantique RDFS et OWLltrdfsClass
rdfID"Roman"gt ltrdfslabel xmllang"en"gtnovellt/
rdfslabelgt ltrdfslabel xmllang"fr"gtromanlt/rdfs
labelgt ltrdfssubClassOf rdfresource"Livre"/gtlt
/rdfsClassgt
32Resource Description Framework
- Présentation détaillée du model RDF
pourl'annotation de ressources sur le web.
33Le gâteau du web sémantique
Tout est triplet
W3C, T Berners-Lee, Ivan Herman
34Resource Description Framework
- Langage de représentation de connaissances
- sur les ressources localisées sur le Web (par une
URL) - sur des entités identifiées sur le Web (par une
URI) - Standard permettant léchange de métadonnées sur
le web et donc leur traitement automatique - Modèle syntaxe dannotation
- Modèle simple avec une sémantique
formelle(Graphes RDF au même niveau que
l'arbre XML) - Format déchange basé sur une syntaxe
XML(RDF/XML) - Modèle ouvert
- Vocabulaire extensible basé sur les URI et XML
schema datatypes - Autorise quiconque à faire des déclarations sur
nimporte quelle ressource
35Resource Description Framework (RDF)
- Représenter un ensemble dassertions à propos de
ressources (Web) - Ex doc.html a pour auteur Fabien et parle du Web
- Les assertions donnent des propriétés des
ressources et leurs valeurs ex doc.html a pour
sujet "Web" - propriétés binaires (relient 1 ressource à 1
valeur) - les valeurs de propriétés sont des littéraux
(chaîne de caractères)oudes ressources - En ajoutant des propriétés chacun peut participer
"Web"
http//inria.fr/cv.html
36Modèle de triplets
- Les assertions peuvent être décomposées en
triplets de la forme (sujet, propriété, valeur)
(statement) - Ex doc.html a pour auteur Fabien et parle du
Web(http//inria.fr/doc.html , auteur ,
urn//fgandon)(urn//fgandon , nom ,
"Fabien")(http//inria.fr/doc.html , sujet ,
"Web") - Les règles des triplets/ sont
- Le sujet est toujours une ressource (pas un
littéral) - La propriété binaire est d'un type identifié par
une URI - La valeur est une ressource ou un littéral
- Les ressources sont identifiables par des URI
- Si l'URI est un URL alors ressource du Web
- Si non, URI dune ressource physique, abstraite,
etc. - Jointure entre les assertions même si elles sont
distribuées - Liant entre les couches réseau (Internet, Web,
Web sémantique) - Blank node ressource anonyme i.e. pas d'URI
37Modèle logique
- Chaque triplet représente un prédicat binaire en
logique(http//inria.fr/doc.html , auteur ,
urn//fgandon)(urn//fgandon , nom ,
"Fabien")(http//inria.fr/doc.html , sujet ,
"Web") - auteur(http//inria.fr/doc.html, urn//fgandon)
- nom(urn//fgandon, "Fabien")
- sujet(http//inria.fr/doc.html, "Web")
- Sémantique formelle RDF sous-ensemble logique du
premier ordre - Avec prédicats binaires, quantification
existentielle(?),conjonction - Sans disjonction, négation, quantification
universelle (?) - La quantification existentielle (?) est
introduite par les blank nodes / ressources
anonymes. - Tout énoncé RDF est considéré comme vrai et RDF
est monotone i.e. ce qui est vrai et ce que lon
peut déduire reste vrai si lon rajoute de
nouveaux énoncés.
38Modèle de graphe
- Modèle de graphe jointure /conjonction de
triplets - Chaque triplet représente un arc étiqueté entre
deux sommets dun graphe orienté pas forcément
connexe - (http//inria.fr/doc.html , auteur ,
urn//fgandon) - (urn//fgandon , nom , "Fabien")
- (http//inria.fr/doc.html , sujet , "Web")
39Syntaxe XML
- Triplets/graphe RDF peuvent être sérialisés en un
arbre XML - Une racine unique et un namespace ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns"gt()lt/rdfRDFgt - Sérialisation pas unique (syntaxe, graphe/arbre)!
- ltrdfDescription rdfabout"http//inria.fr/doc.ht
ml"gt - ltauteurgt
- ltrdfDescription rdfabout"urn//fgandon"gt
- ltnomgtFabienlt/nomgt
- lt/rdfDescriptiongt
- lt/auteurgt
- ltsujetgtWeblt/sujetgt
- lt/rdfDescriptiongt
- ltrdfDescription rdfabout"http//inria.fr/doc.ht
ml"gt - ltauteur rdfresource"urn//fgandon" /gt
- ltsujetgtWeblt/sujetgt
- lt/rdfDescriptiongt
- ltrdfDescription rdfabout"urn//fgandon"gt
- ltnomgtFabienlt/nomgt
- lt/rdfDescriptiongt
- ltrdfDescription rdfabout"urn//fgandon"
nom"Fabien" /gt
40Les nœuds anonymes (blank nodes)
- Une ressource peut ne pas être identifiée
sémantique quantification existentielleil
existe une resource telle que ? r - ltrdfDescription rdfabout"http//bu.ch/l23.html
"gt - ltauteurgt
- ltrdfDescriptiongt
- ltnomgtTrichardlt/nomgt
- ltprenomgtLaurentlt/prenomgt
- lt/rdfDescriptiongt
- lt/auteurgt
- lttitregtLes zélés faons roseslt/titregt
- lt/rdfDescriptiongt
? x auteur(http//bu.ch/l23.html,x)nom(x,"Trich
ard")prenom(x,"Laurent")
_abc
41Les nœuds anonymes avec ID !
- Utilisation d'un ID local pour identifier les
blank nodes d'un graphe (vital pour les
sérialisations) - ltrdfDescription rdfabout"http//bu.ch/l23.html
"gt - ltauteur rdfnodeID"abc123"/gt
- lttitregtLes zélés faons roseslt/titregt
- lt/rdfDescriptiongt
- ltrdfDescription rdfnodeID"abc123"gt
- ltnomgtTrichardlt/nomgt
- ltprenomgtTrichardlt/prenomgt
- lt/rdfDescriptiongt
- (Équivalent au premier cas car le parseur créait
lID) - Omettre un blank node dans la syntaxe XML
- ltrdfDescription rdfabout"http//bu.ch/l23.html
"gt - ltauteur rdfparseType"Resource" gt
- ltnomgtTrichardlt/nomgt
- ltprenomgtLaurentlt/prenomgt
- lt/auteurgt
- lttitregtLes zélés faons roseslt/titregt
- lt/rdfDescriptiongt
42Réification d'un statement
- Réification d'un triplet rendre un triplet
explicite pour pouvoir en parler i.e. l'utiliser
comme le sujet ou l'objet d'une propriété. - Un triplet est réifié par un statement
- Le statement fait du triplet une ressource
- Cette ressource peut être décrite à son tour
- ltrdfStatement rdfnodeID"decFab"gt
- ltrdfsubject rdfresource"http//inria.fr/doc.ht
ml" /gt - ltrdfpredicate rdfresource"dcauteur"/gt
- ltrdfobject rdfresource"urn//fgandon" /gt
- lt/rdfStatementgt
- ltrdfDescription rdfnodeID"decFab"gt
- ltauteur rdfresource"http//inria.fr/"/gt
- lt/rdfDescriptiongt
43Forcer une valeur littérale datatypes
- Obliger le parseur à ignorer la structure du
contenu - ltrdfDescription rdfID"reportR-25"gt
- ltdctitle rdfparseType"Literal"gt
- The world ltigtwildlt/igt web
- lt/dctitlegt
- lt/rdfDescriptiongt
- XML schema datatypes
- Les littéraux standards sont des chaînes de
caractères - Pour typer les valeurs littérales, RDF repose sur
les datatypes de XML Schema - Notation en N3cid1 cage 22xsdinteger
44Les datatypes et syntaxe XML
- Syntaxe XML pour les datatypes en
RDFltrdfDescription rdfabout"Fabien"gt
ltfaitDesEnseignements rdfdatatype"http//www.w
3.org/2001/XMLSchemaboolean"gt
truelt/faitDesEnseignementsgt ltnaissance
rdfdatatype"http//www.w3.org/2001/XMLSchemadat
e"gt 1975-07-31lt/naissancegt ltlangueMaternelle
rdfdatatype"http//www.w3.org/2001/XMLSchemalan
guage"gt frlt/langueMaternellegtlt/rdfDescription/
gt - lt!ENTITY xsd http//www.w3.org/2001/XMLSchema
gt ()ltrdfDescription rdfabout"Fabien"gt
ltfaitDesEnseignements rdfdatatype"xsdboolean"
gt truelt/faitDesEnseignementsgt ltnaissance
rdfdatatype"xsddate"gt 1975-07-31lt/naissance
gt()lt/rdfDescription/gt
45XML Schema datatypes
W3C - http//www.w3.org/TR/xmlschema-2/
- Exercice livre, titre, date, disponible ou pas
46Langue
- On peut spécifier une langue avec
xmllangltLivregt lttitre xmllangfrgtSeigneur
des anneauxlt/titregt lttitre xmllangengtLord of
the ringslt/titregtlt/Livregt - En N3 cbook ctitle Lord of the rings_at_en
- Attention les littéraux avec langue et sans
langue sont différentsFabien ? Fabien_at_en ?
Fabien_at_fr
47Valeurs complexes
- Relations n-aires dans le cas d'une valeur
litérale ou valeur complexe dans une propriété - Sélectionner un sujet principal
- Réifier la relation par une ressource anonyme
- Déclarer de propriétés pour chaque autre valeur
- ltrdfDescription rdfabout"voiture91"gt ltpoids
rdfparseType"Resource"gt ltrdfvalue
rdfdatatype"xsddecimal"gt1.5lt/rdfvaluegt
ltunite rdfresource"unitestonnes"/gt
lt/poidsgtlt/rdfDescriptiongt - Exercice patient, température, tendance.
48Typage de ressource
- On peut typer les ressources en utilisant des URI
pour identifier les typeslturn//fgandongt
rdftype lthttp//www.ugb.sn/schemaPersonnegt - L'instanciation d'un type suffit à faire exister
une ressource _x rdftype http//www.ugb.sn/sche
maPersonne - Une ressource peut avoir plusieurs
typeslturn//fgandongt rdftype
lthttp//www.ugb.sn/schemaPersonnegtlturn//fgando
ngt rdftype lthttp//www.ugb.sn/schemaChercheurgtlt
urn//fgandongt rdftype lthttp//www.ugb.sn/schema
Enseignantgt - Syntaxes XML ltrdfDescription
rdfabout"urn//fgandon"gt ltrdftype
rdfresource"http//www.ugb.sn/schemaPersonne"
/gt - ltnomgtFabienlt/nomgt
- lt/rdfDescriptiongt
- ltsnPersonne rdfabout"urn//fgandon"gtltnomgtFabi
enlt/nomgt - lt/snPersonnegt
49Groupe simple sans ordre ni sens
- Un groupe de ressources ou littéraux sans
ordreltrdfDescription rdfabout"http//www.inria
.fr/rrrt/rr-5663.html"gt ltauteurgt ltrdfBaggt
ltrdfligtMoussa Lolt/rdfligt ltrdfligtFabien
Gandonlt/rdfligt lt/rdfBaggt lt/auteurgtlt/rdfDesc
riptiongtlthttp//www.inria.fr/rrrt/rr-5663.html
gt auteur _a_a rdf_1 Moussa Lo_a rdf_2
Fabien Gandon
50Séquence
- Groupe ordonné de ressources ou
littérauxltrdfDescription rdfabout"partition"gt
ltcontientgt ltrdfSeqgt ltrdfli
rdfabout"Do"/gt ltrdfli rdfabout"Do"/gt
ltrdfli rdfabout"Do"/gt ltrdfli
rdfabout"Re"/gt ltrdfli rdfabout"Mi"/gt
lt/rdfSeqgt lt/contientgtlt/rdfDescriptiongt - Accès rdf_1, rdf_2, rdf_3, rdf_4, etc.
rdf_1rdf_2 rdf_3rdf_4 rdf_5
51Alternatives
- Groupe de ressources ou littéraux
alternatifsi.e. une seule valeur est la
bonneex le titre dun livre en plusieurs
languesltrdfDescription rdfabout"livre"gt
lttitregt ltrdfAltgt ltrdfli
xmllang"fr"gtlhomme qui prenait sa femme
pour un chapeault/rdfligt
ltrdfli xmllang"en"gtthe man who mistook his
wife for a
hatlt/rdfligt lt/rdfAltgt lt/titregtlt/rdfDesc
riptiongt
52Collection
- Liste exhaustive et ordonnée de
constituants(pour fermer une assertion)ltrdfDes
cription rdfabout"Semaine"gt ltseDiviseEn
rdfparseType"Collection"gt ltrdfDescription
rdfabout"Lundi"/gt ltrdfDescription
rdfabout"Mardi"/gt ltrdfDescription
rdfabout"Mercredi"/gt ltrdfDescription
rdfabout"Jeudi"/gt ltrdfDescription
rdfabout"Vendredi"/gt ltrdfDescription
rdfabout"Samedi"/gt ltrdfDescription
rdfabout"Dimanche"/gt lt/seDiviseEngtlt/rdfDesc
riptiongt - First / Rest Le premier et le reste (rdfList /
rdfnil) - A la LISP(Lundi (Mardi (Mercredi (Jeudi
(Vendredi (Samedi (Dimanche (NIL)))))))))
53Références
54Références
- RDF 6 documents sur http//www.w3.org/RDF
- RDF Primer
- RDF Concepts and Abstract Data Model
- RDF/XML Syntax Specification (Revised)
- RDF Schema
- RDF Semantics
- RDF Test Cases
- SPARQL
- SPARQL Query Language for RDFhttp//www.w3.org/TR
/rdf-sparql-query/ - SPARQL Query Results XML Formathttp//www.w3.org/
TR/rdf-sparql-XMLres/ - SPARQL Protocol for RDFhttp//www.w3.org/TR/rdf-s
parql-protocol/
55Sources, références et pointeurs
- W3C documents at http//www.w3.orgwww.w3.org/XML
- www.w3.org/RDF - http//www.w3.org/2001/sw/ - W3C Tutorials http//www.w3.org/2002/03/tutorials
- W3C 10th Anniversary http//www.w3.org/2004/Talks/
w3c10-Overview/ - W3School http//www.w3schools.com/
- Tutorials on Semantic Web Technologies by Ivan
Herman - www.oasis-open.org
- Méthodes et outils pour la gestion des
connaissances, R. Dieng et. al. Dunod - Action Web sémantique CNRS http//www.lalic.paris4
.sorbonne.fr/stic/ - Bulletin AFIA avril 2003 http//www.lalic.paris4.s
orbonne.fr/stic/articles/ - XML Revolution http//www.brics.dk/amoeller/XML/
index.html - OReilly XML.com http//www.xml.com/
- Websemantique http//semanticweb.org/