contribuer à schema.org - retour d’expérience : extension eli pour les lois / thomas francart
TRANSCRIPT
Contribuer àschema.org
Retour d’expérience : extension « ELI » pour les lois
Thomas Francart – SPARNAWeb of data Meetup06/10/2016 - Paris
Modèle de données
Ce qu’il y a dans583 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
583 Types, 846 Properties, 114 Enumeration values (le 27/09/2016)
Ce qu’il y a dans
Modèle de données• Mécanisme d’héritage des classes et sous-
classes– Les propriétés définies sur « Place » sont
autorisées 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été comme un graphe de données
Ce qu’il y a dansNiveau 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é
Comment contribuer ?
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/
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 ?...)
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
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 …
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)
Proposition d’extension
« legal.schema.org »
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 »
LegalResource• responsibility_of• date_document• date_publication
V1.1« ELI part 2 » : LegalResource level
skos:Concept
is_about
related_tocites / cites_by
owl:Thing
applies / applied_byis_another_publication_of / has_another_publication
LegalResourceOr
LegalExpression• number• description• version_date• first_date_entry_in_force• date_no_longer_in_force• date_applicability
changed_by / changesconsolidates / consolidated_by commences / commenced_byrepeals / repealed_bycorrects / corrected_by*amends / amended_by
passed_byresponsibility_of_agen
t
type_document [1..*]
based_ontransposed_by
basis_fortranspose
s
Agent
InForce
Version
Admin.Area
ResourceType
in_force
versionrelevant_forjurisdiction
* : also applies to Format
Mise au point de l’extension
Pointage du modèle ELI par rapport aux propriétés existantes dans schema.org
LegislationObject
MediaObject• encodingFormat• contentUrl
CreativeWork• about• alternateName• datePublished• inLanguage• name• description• license• copyrightHolder• version
Legislation• legislationIdentifier• legislationType• legislationDate• legislationDateEntryIntoForce• legislationDateNoLongerInForce• legislationDateVersion
Place
spatialCoverage
Organization
legislationPassedBylegislationResponsible
legislationChanges/legislationChangedBylegislationConsolidates/legislationConsolidatedBylegislationTransposes/legislationTransposedBylegislationApplies / legislationAppliedBy
Schema.org class Extension class
LegalValueLevellegislationLegalValueLegalForceStatus
legislationLegalForce
subClassOf Object propertyLegend :
Personor
PublicationIssue
legislationPublishedIn
encoding / encodesCreativeWork
hasPart / isPartOfworkExample / exampleOfWorkisBasedOn / isBasisForcitation / citedBy
publisher
New property suggested in core
L’extension publiée• http://legal.eli-legislation-schemaorg.appspot.com/
Legislation
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
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 !
Jouez à schema.org pour encourager les données structurées sur le web…… mais vous ne connaitrez jamais toutes les règles du jeu.
Merci de votre
thomas.francart@Web de
Structuration desAccès aux
attention !
sparna.frdonnéesinformationsconnaissances
Proposer une extension schema.org
Annexe
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
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.