Contribuer à schema.org - Retour d’expérience : extension ELI pour les lois / Thomas Francart

Preview:

Citation preview

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.