3. Ce qu’il y a dans
583 Types, 846 Properties, 114
Enumeration values (le 27/09/2016)
Type de 1er
niveau
Action chercher, lire une vidéo, remplir un formulaire, etc.
CreativeWork livres, films, recettes, (loi)
Event BusinessEvent, MusicEvent, DeliveryEvent, etc.
Intangible billet d’avion, langue, quantités, audience, énumérations de valeurs, etc.
Organization LocalBusiness > Restaurant, SportsOrganization, etc.
Person
Place TouristAttraction, AdministrativeArea, etc.
Product
4. 583 Types, 846 Properties, 114
Enumeration values (le 27/09/2016)
Ce qu’il y a dans
5. Modèle de données
• Mécanisme d’héritage des classes et sous-clas
– Les propriétés définies sur « Place » sont autorisé
sur « TouristAttraction »
• Chaque propriété indique :
– Sur quel(s) type(s) d’objet elle est autorisée
– Quel(s) est/sont le(s) type(s) des valeurs de la
propriétés
• On peut toujours mettre du texte comme valeur
• Le markup exprimé en schema.org est interpré
comme un
graphe de données
6. Ce qu’il y a dans
Niveau de détail hétérogène…
• Type « Product » : 31 propriétés, 5 sous-classes + nombreuses
classes liées
• Pas de type « loi », 0 propriété pour décrire un « musée », ou
une « librairie », etc…
• Modélisation pour l’extension médecine pas très « clean »
conceptuellement
– Entité générique « MedicalEntity » qui ne correspond à rien;
Modèle « occidentalo- », « anglo- », « e-commerco- »,
« web-o » centré
8. Processus ouvert et public
• Sources et tickets :
https://github.com/schemaorg/schemaorg
• Mailing list :
https://lists.w3.org/Archives/Public/public-schemaorg/
• Groupe W3C :
https://www.w3.org/community/schemaorg/
9. Gouvernance
« Who decides ? »
“The community. Consensus in the group
backing the proposal as to the general
sense of the proposal; followed by
broader consensus when the proposal
becomes a Pull Request; with a final
approving consensus from the steering
group as they review the next release of
the vocabulary. (…)”
(RichardWallis, https://github.com/schemaorg/schemaorg/issues/1156)
(Quand ? Planning des releases ? Quels critères ?...)
10. Code source de schema.org
• https://github.com/schemaorg/schemaorg
• Fichiers de modèle sous
– data/schema.rdfa
– data/ext/bib, data/ext/auto, data/ext/health-
lifesci, etc.
– + les fichiers contenant les exemples
• Site généré en Python et déployé sur
Google App Engine
11. Proposition de
modification/ajout
• Pour suggérer d’améliorer une définition,
modifier un range, ajouter une propriété, etc :
• Discutez-en avec des personnes qui ont le
même besoin que vous
• « Raise an issue on Github »
– Ouvrez un ticket sur le Github, et envoyez un mail
sur la mailing-list au besoin
– Ou bien « forkez les sources » et utilisez le
mécanisme d’extension « pending »
• Relancez
– Discutez
• Répondez aux commentaires
– Faites du lobbying
» Relancez encore …
12. Les extensions « hosted »
schema.org
• Schema.org = 1 modèle « core » + des extensions
(3 pour l’instant)
– bib.schema.org : bibliographic
– auto.schema.org : automobile
– health-lifesci : médecine
• Les extensions « hosted » sont gérées par
schema.org
• Essentiellement un mécanisme de découpage du
modèle pour faciliter la navigation
• Schema.org = « single namespace policy »
– Même dans les extensions, les identifiants des
classes/propriétés sont toujours http://schema.org/x
(et pas http://bib.schema.org/x)
14. Communauté d’origine
• Objectif : partage et mise en lien des
métadonnées des lois sur un « web de
données législatif »
– Loi française A « transpose » Directive B
• Vocabulaire ELI :
http://data.europa.eu/eli/ontology
• Exemple de métadonnées ELI sur Legifrance :
voir « le dernier JO publié »
• Objectif plus large : rendre les lois plus visibles
sur le web de données
– Donc : proposer une extension schema.org pour
décrire les lois à partir du modèle ELI
– « Legal Semantic Web »
15. LegalResource
• responsibility_of
• date_document
• date_publication
V1.1« ELI part 2 » : LegalResource level
skos:Concept
is_about
related_to
cites / cites_by
owl:Thing
applies / applied_by
is_another_publication_of /
has_another_publication
LegalResource
Or
LegalExpression
• number
• description
• version_date
• first_date_entry_in_force
• date_no_longer_in_force
• date_applicability
changed_by / changes
consolidates /
consolidated_by
commences /
commenced_by
repeals / repealed_by
corrects / corrected_by*
amends / amended_by
passed_by
responsibility_of_agent
type_document [1..*]
based_on
transposed_by
basis_for
transposes
Agent
InForce
Version
Admin.Area
ResourceType
in_force
version
relevant_for
jurisdiction
* : also applies to Format
16. Mise au point de l’extension
Pointage du modèle ELI par rapport aux propriétés existantes dans schema.org
17. LegislationObject
MediaObject
• encodingFormat
• contentUrl
CreativeWork
• about
• alternateName
• datePublished
• inLanguage
• name
• description
• license
• copyrightHolder
• version
Legislation
• legislationIdentifier
• legislationType
• legislationDate
• legislationDateEntryIntoForce
• legislationDateNoLongerInForce
• legislationDateVersion
Place
spatialCoverage
Organization
legislationPassedBy
legislationResponsible
legislationChanges/legislationChangedBy
legislationConsolidates/legislationConsolidatedBy
legislationTransposes/legislationTransposedBy
legislationApplies / legislationAppliedBy
Schema.org class Extension class
LegalValueLevel
legislationLegalValueLegalForceStatus
legislationLegalForce
subClassOf Object propertyLegend :
Person
or
PublicationIssue
legislationPublishedIn
encoding /
encodesCreativeWork
hasPart / isPartOf
workExample / exampleOfWork
isBasedOn / isBasisFor
citation / citedBy
publisher
New property
suggested in core
19. GitHub : issue 1156
• https://github.com/schemaorg/schemaorg/issues/1156
• Publiée en mai
• Commentaires, en synthèse :
– « Reutilisez plus de propriétés existantes dans schema.org »
– « Nommez les propriétés précisément pour éviter les conflits de
nommage »
• V2 de l’extension proposée mi-septembre
• On s’achemine vers d’autres versions de l’extension avant
que celle-ci soit intégrée
• Interactions avec les autres évolutions en cours du modèle
20. Votre contribution est intégrée ?
• Youpi ! Bravo !
• Mais ce n’est pas parce que quelque
chose est intégré dans le vocabulaire
schema.org que Google et al. vont en
faire quelque chose !
21. Jouez à schema.org pour encourager
les données structurées sur le
web…
… mais vous ne connaitrez
jamais toutes les règles du jeu.
24. Proposition d’extension 1/2
• Avoir déjà un bout de modèle assez abouti et
une communauté avec un certain poids
• « Forkez le repo »
• Ajoutez votre extension sous
« /data/ext/monExtension »
– Sans oublier les exemples de markup !
• Modifiez le script sdoapp.py pour que votre
extension soit visible :
– ENABLED_EXTENSIONS = ['auto', 'bib', 'health-
lifesci', 'pending', 'meta', 'legal' ]
• Publiez votre site schema.org modifié sur
Google App Engine
25. Proposition d’extension 2/2
• « Raise an issue on Github »
• Annoncez votre extension sur la
mailing-list
• Améliorez votre extension en fonction
des commentaires
– Relancez, faites du lobbying auprès du
steering commitee, etc.