<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sparna Blog &#187; modélisation</title>
	<atom:link href="https://blog.sparna.fr/tag/modelisation/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sparna.fr</link>
	<description>Web de données &#124; Architecture de l&#039;information &#124; Accès aux connaissances</description>
	<lastBuildDate>Tue, 03 Jun 2025 10:30:27 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Penser, modéliser (pour le web de données) &#8211; 2/2</title>
		<link>https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/</link>
		<comments>https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/#comments</comments>
		<pubDate>Mon, 26 May 2014 11:36:09 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[modèle]]></category>
		<category><![CDATA[modélisation]]></category>
		<category><![CDATA[ontologie]]></category>
		<category><![CDATA[thesaurus]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=579</guid>
		<description><![CDATA[<p>Je donnais précédemment quelques retours d&#8217;expérience sur la création d&#8217;une ontologie OWL de description des fonds d&#8217;archives, initiée par la société Anaphore. Je voulais ici mettre en avant quelques points précis de ce modèle, quelques-uns des choix de modélisation qui ont été faits pour répondre à certaines questions que nous nous sommes posées, et qui&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/">Penser, modéliser (pour le web de données) &#8211; 2/2</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Je donnais précédemment <a title="Penser, modéliser (pour le web de données) (1/2)" href="http://blog.sparna.fr/penser-modeliser-web-de-donnees-1/">quelques retours d&rsquo;expérience sur la création d&rsquo;une ontologie OWL de description des fonds d&rsquo;archives</a>, initiée par la société <a href="http://anaphore.eu/">Anaphore</a>. Je voulais ici mettre en avant quelques points précis de ce modèle, quelques-uns des choix de modélisation qui ont été faits pour répondre à certaines questions que nous nous sommes posées, et qui peuvent se retrouver dans d&rsquo;autres cas. Pour ceux qui s&rsquo;intéresseraient plus largement aux motifs de conception en OWL (&laquo;&nbsp;ontology design patterns&nbsp;&raquo;), je renvoie au site <a href="http://ontologydesignpatterns.org" target="_blank">ontologydesignpatterns.org</a> (dont je dois admettre que je ne me sers pas moi-même).</p>
<p><span id="more-712"></span></p>
<hr />
<h2>Réutiliser d&rsquo;autres vocabulaires/modèles</h2>
<p style="text-align: justify;">Le web de données permet de partager et relier des données sur le web, et il permet également de partager et relier des <em>modèles</em> de données. Réutiliser un modèle déjà existant pour exprimer ses données permet 1/ de bénéficier de la réflexion et des bonnes pratiques de modélisation qui ont sédimenté dans ce modèle et 2/ de rendre les données ainsi exprimées plus facilement compréhensibles et compatibles avec d&rsquo;autres applications.</p>
<p style="text-align: justify;">Il est donc tout à fait possible pour modéliser son domaine de &laquo;&nbsp;faire son marché&nbsp;&raquo; parmi les modèles déjà publiés, par exemple en parcourant l&rsquo;<a href="http://lov.okfn.org" target="_blank">annuaire du LOV (Linked Open Vocabularies)</a>. Trois modèles notamment sont réutilisables presque à tous les coups : <a href="http://lov.okfn.org/dataset/lov/details/vocabulary_foaf.html" target="_blank">FOAF</a> pour décrire des personnes, des organisations et des documents, <a href="http://lov.okfn.org/dataset/lov/details/vocabulary_dcterms.html" target="_blank">DCTerms</a> pour des métadonnées qui s&rsquo;appliquent largement (&laquo;&nbsp;creator&nbsp;&raquo;, &laquo;&nbsp;subject&nbsp;&raquo;, &laquo;&nbsp;publisher&nbsp;&raquo;, etc.), et <a href="http://lov.okfn.org/dataset/lov/details/vocabulary_skos.html" target="_blank">SKOS</a> (dont je re-mentionne au passage <a title="Traduction française de SKOS" href="http://blog.sparna.fr/traduction-francaise-skos/" target="_blank">la traduction française</a>) pour tout ce qui est liste contrôlée. Ces 3 vocabulaires sont d&rsquo;ailleurs <a href="http://lov.okfn.org/dataset/lov/stats/" target="_blank">les plus réutilisés dans l&rsquo;écosystème des modèles du web de données</a>.</p>
<p style="text-align: justify;">Outre ces 3 vocabulaires, nous avons également pour le modèle de description des fonds d&rsquo;archives réutilisé <a title="OWL Time" href="http://www.w3.org/TR/owl-time/" target="_blank">OWL Time</a> pour la représentation des dates et des intervalles temporels, <a title="wgs84" href="http://www.w3.org/2003/01/geo/wgs84_pos" target="_blank">wgs84_pos</a> pour l&rsquo;expression des latitudes/longitudes, et une seule propriété de <a title="Provenance ontology" href="http://www.w3.org/TR/prov-o/" target="_blank">PROV-O</a>, le modèle de description de la provenance récemment recommandé par le W3C (voir plus bas).</p>
<hr />
<h2>Qualifier les propriétés</h2>
<p style="text-align: justify;">Si vous lisez ceci je ne vous apprendrai rien en disant que RDF est un modèle de triplets, sujet-prédicat-objet (dans le cas contraire, voir <a href="http://fr.slideshare.net/thomasfrancart/rdf-une-introduction" target="_blank">cette introduction</a>). Donc en RDF on dit : &laquo;&nbsp;L&rsquo;entreprise Lafarge (sujet) possède un siège social (prédicat) en France (objet)&nbsp;&raquo;. Le problème, dans les descriptions archivistiques, c&rsquo;est que les entités sont décrites, par définition, au passé. Et que, dans le passé, il s&rsquo;en est passé des choses, justement, et que les informations relatives à une entité ont évolué. Il faut donc être capable, pour toutes les informations composant la description d&rsquo;une entité (nom, siège social, liens avec d&rsquo;autres entités&#8230;), de les qualifier avec des dates de validité (et pourquoi pas également des lieux de validité). C&rsquo;est-à-dire qu&rsquo;au lieu de dire &laquo;&nbsp;Lafarge possède un siège social en France&nbsp;&raquo;, on dit &laquo;&nbsp;Lafarge entretient une relation de siège social avec la France, relation qui était valable jusqu&rsquo;en avril 2014&Prime; (le cimentier Français ayant décidé de <a href="http://www.slate.fr/story/86137/siege-social-exil" target="_blank">déplacer son siège social en Suisse après sa fusion avec Holcim</a>).</p>
<p style="text-align: justify;">On dit qu&rsquo;on <em>réifie</em> la relation, on la transforme en ressource à part entière pour pouvoir exprimer des choses dessus. Autant dire que cela complexifie nettement le modèle. Mais c&rsquo;est le prix à payer pour structurer ces informations complexes. Dans la syntaxe RDF <a href="http://www.w3.org/TR/2014/REC-turtle-20140225/" target="_blank">Turtle</a>, on passe, sans qualification de dates, de :</p>
<pre>ex:Lafarge mdfa:pays ex:France .</pre>
<p>à ceci, avec une date de validité exprimée à la fois comme date structurée (&laquo;&nbsp;2014-04-11&Prime;) et à la fois comme chaine de caractères (&laquo;&nbsp;jusqu&rsquo;en avril 2014&Prime;) :</p>
<pre>ex:Lafarge mdfa:pays _:b .
_:b rdf:type mdfa:RelationLieu .
_:b mdfa:lieu ex:France .
_:b mdfa:dateValidite _:c .
_:c time:hasEnd _:d .
_:c rdfs:label "jusqu'en avril 2014" .
_:d time:inXSDDateTime "2014-04-11"^^xsd:date .</pre>
<p>Ou, en notation Turtle abbréviée :</p>
<pre>ex:Lafarge mdfa:pays [
  rdf:type mdfa:RelationLieu ;
  mdfa:lieu ex:France ;
  mdfa:dateValidite [
    time:hasEnd [ 
      time:inXSDDateTime "2014-04-11"^^xsd:date ;
    ] ;
  ] ;
  rdfs:label "jusqu'en avril 2014";
]</pre>
<hr />
<h2>Prendre en compte les valeurs textuelles</h2>
<p style="text-align: justify;">J&rsquo;espère qu&rsquo;aucun archiviste qui lit ceci ne sera vexé si je dis que les descriptions d&rsquo;archives actuelles ne sont pas très structurées. J&rsquo;entends par là que, de ce que j&rsquo;ai pu en voir, le contenu des descriptions est essentiellement textuel, et que peu de listes contrôlées ou de thesaurus sont utilisés pour structurer les valeurs que l&rsquo;on renseigne dans les différents champs de la description. D&rsquo;autre part, par la force des choses, certains éléments d&rsquo;information sont manquants, ou imprécis, et il peut être difficile ou impossible de leur donner une valeur contrôlée. Quelques exemples :</p>
<ul style="text-align: justify;">
<li>Pour indiquer la plage de date couverte par un fonds d&rsquo;archives : &laquo;&nbsp;1923-1932, 1936-1945 (manque 1933 à 1935)&nbsp;&raquo; (tiré de la norme <a href="http://www.icacds.org.uk/fr/ISAD%28G%29.pdf" target="_blank">ISAD(G)</a>);</li>
<li>Pour indiquer la modalité d&rsquo;entrée d&rsquo;un fonds aux services d&rsquo;archives : &laquo;&nbsp;Don de la Société ardoisière de l&rsquo;Anjou (exploitation de Renazé) aux Archives départementales de la Mayenne, 1969&Prime; (tiré de la norme <a href="http://www.icacds.org.uk/fr/ISAD%28G%29.pdf" target="_blank">ISAD(G)</a>);</li>
<li>Pour indiquer une source complémentaire à un fonds (un autre fonds d&rsquo;archives, géré dans un autre service, pouvant donner des informations supplémentaires sur les mêmes institutions/personnes/lieux) : &laquo;&nbsp;Archives départementales de la Savoie $ SA 243-244 : collèges d&rsquo;Avignon (dont celui d&rsquo;Annecy)&nbsp;&raquo;;</li>
</ul>
<p style="text-align: justify;">La création d&rsquo;un modèle de description des fonds d&rsquo;archives ayant pour objectif de structurer de telles descriptions se doit à la fois de les amener à plus de structuration pour améliorer l&rsquo;accès et la gestion de l&rsquo;information, et en même temps se doit de rester compatible avec les données telles qu&rsquo;elles sont aujourd&rsquo;hui; c&rsquo;est-à-dire qu&rsquo;il faut tout à la fois conserver la valeur de date &laquo;&nbsp;1923-1932, 1936-1945 (manque 1933 à 1935)&nbsp;&raquo; sans perte, et en même temps permettre de structurer cette valeur si possible, pour donner la possibilité de rechercher les fonds en utilisant une plage de dates que l&rsquo;on sélectionne dans des calendriers, ce qui n&rsquo;est pas possible si les informations de dates sont laissées textuellement.</p>
<p style="text-align: justify;">Cela a eu des conséquences à plusieurs endroits dans le modèle :</p>
<ul style="text-align: justify;">
<li>Première conséquence, lorsqu&rsquo;il est nécessaire d&rsquo;indiquer une <strong>référence</strong> à un autre fonds d&rsquo;archives, géré par un autre service d&rsquo;archives, il faut pouvoir y faire référence même si ce fonds ne possède pas (encore) d&rsquo;URI sur le web de données. RDF propose pour cela un mécanisme de <a href="http://fr.wikipedia.org/wiki/Ressource_anonyme" target="_blank">noeuds blancs, ou noeuds anonymes</a>, permettant d&rsquo;associer des informations à une ressource dont on ne connait pas l&rsquo;identifiant, ou qu&rsquo;on ne souhaite pas identifier avec une URI. Cependant ce n&rsquo;est pas vraiment ce que l&rsquo;on veut faire ici. Lorsque l&rsquo;on indique comme source complémentaire &laquo;&nbsp;Archives départementales de la Savoie $ SA 243-244 : collèges d&rsquo;Avignon (dont celui d&rsquo;Annecy)&nbsp;&raquo;, il ne s&rsquo;agit pas nécessairement du titre exact ou de la cote exacte d&rsquo;un autre fonds, mais simplement d&rsquo;une <em>référence textuelle </em>à quelque chose (peut-être à plusieurs choses d&rsquo;ailleurs) dont le titre par exemple, est différent de ce que l&rsquo;on indique en y faisant référence. Le modèle contient donc un mécanisme de <em>référence textuelle</em> pour faire référence à un fonds ou à une entité, qui permet :</li>
</ul>
<ol style="text-align: justify;">
<li>de rester compatible avec les valeurs textuelles existantes dans les données actuelles;</li>
<li>de pouvoir faire référence à un fonds ou à une entité dont on ne connait pas précisément le titre, l&rsquo;intitulé ou l&rsquo;URI;</li>
<li>de pouvoir travailler dans un mode &laquo;&nbsp;on exprime la relation d&rsquo;abord, et on essaie de résoudre la valeur contrôlée ensuite&nbsp;&raquo;;</li>
<li>de pouvoir travailler à un niveau de granularité et de finesse que l&rsquo;on choisit (trouver/sélectionner la bonne valeur contrôlée prend du temps, en rester à une référence pas/peu contrôlée est plus simple);</li>
</ol>
<p style="padding-left: 30px; text-align: justify;">Prenons l&rsquo;exemple d&rsquo;un fonds d&rsquo;archives qui serait la copie d&rsquo;un autre, et dont on veut indiquer l&rsquo;original :</p>
<p style="padding-left: 30px;">On peut indiquer cette référence sous forme de texte ainsi :</p>
<pre style="padding-left: 30px;">ex:fondsArchives_1 mdfa:aPourOriginal [
        mdfa:referenceTextuelle "collège Saint-Nicolas d'Annecy (1642-1785)." ;
]</pre>
<p style="padding-left: 30px;">Ou bien résoudre la référence, trouver la bonne URI contrôlée, et l&rsquo;indiquer :</p>
<pre style="padding-left: 30px;">ex:fondsArchives_1 mdfa:aPourOriginal [
        mdfa:referenceTextuelle "collège Saint-Nicolas d'Annecy (1642-1785)." ;
        mdfa:ressource ex:uriUnAutreFondArchives ;
]

</pre>
<ul>
<li style="text-align: justify;">Deuxième conséquence sur la <strong>description des dates</strong> : les dates mentionnées dans les descriptions de fonds sont soit : 1/ compliquées à décrire (&laquo;&nbsp;1923-1932, 1936-1945 (manque 1933 à 1935)&nbsp;&raquo;) ou 2/ imprécises (&laquo;&nbsp;milieu du XIXème siècle&nbsp;&raquo;). On ne peut donc pas se contenter de 2 propriétés de dates (début et fin), il faut également pouvoir associer à l&rsquo;information de date une description textuelle, et donner la possibilité, lorsque cela est possible/souhaitable, de structurer l&rsquo;information. Pour cela nous avons réutilisé l&rsquo;ontologie <a href="http://www.w3.org/TR/owl-time/">OWL Time</a> qui permet de décrire des intervalles de dates, et d&rsquo;associer à l&rsquo;intervalle lui-même, ou bien à une date de début ou de fin d&rsquo;intervalle, une description textuelle aussi bien qu&rsquo;une information de date contrôlée;</li>
</ul>
<p style="padding-left: 30px;">Premier exemple, pour décrire les dates de contenu d&rsquo;un fonds :</p>
<pre style="padding-left: 30px;">:fondsArchives_1 mdfa:datesContenu [
        rdfs:label "Du 1er janvier 1920 jusqu'aux environs de 1951"
        time:hasBeginning [ time:inXSDDateTime "1920-01-01"^^xsd:dateTime ] ;
        time:hasEnd [ time:inXSDDateTime "1951-01-01"^^xsd:dateTime ] ;
  ]
</pre>
<p style="padding-left: 30px;">Deuxième exemple, pour décrire les dates de naissance et de décès d&rsquo;une personne :</p>
<pre style="padding-left: 30px;">:personne_1 mdfa:datesExistence [
        rdfs:label "Date de naissance inconnue, mort le 23/10/1873"
        time:hasEnd [ time:inXSDDateTime "1873-10-23"^^xsd:dateTime ] ;
]</pre>
<ul style="padding-left: 30px;">
<li style="text-align: justify;">Troisième conséquence sur des <strong>propriétés tantôt littérales, tantôt contrôlées</strong>; RDF et OWL permettent, on a un peu tendance à l&rsquo;oublier, de déclarer des propriétés sans préciser si leur valeur sera une valeur contrôlée ou une valeur littérale. C&rsquo;est ce que fait SKOS par exemple, pour les propriétés de notes descriptives : une note SKOS peut être une valeur littérale, ou une référence à une entité représentant la note (voir le <a href="http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/#secadvanceddocumentation">SKOS PRIMER</a>). De telles propriétés sont des <a href="http://www.w3.org/TR/owl-ref/#Header">Annotation Properties</a>. C&rsquo;est ce mécanisme que nous avons utilisé pour déclarer par exemple les propriétés correspondant au statut juridique, à la modalité d&rsquo;entrée ou au support d&rsquo;une ressource archivistique. Cela veut donc dire par exemple que, dans le cadre de cette ontologie, on laisse le choix de décrire les statuts juridiques comme une liste de valeurs contrôlées par un thesaurus en SKOS, ou bien comme une valeur textuelle libre.</li>
</ul>
<p style="padding-left: 30px;">On pourra donc dire tout aussi bien, pour indiquer la langue en utilisant une valeur contrôlée :</p>
<pre style="padding-left: 30px;">ex:notice_de_fonds_archives_1 dcterms:language &lt;http://lexvo.org/id/iso639-3/lat&gt; .</pre>
<p style="padding-left: 30px;">(on utilise dans cet exemple l&rsquo;identifiant de langue latine issu de <a href="http://www.lexvo.org/" target="_blank">Lexvo</a>, mais tout autre thesaurus contrôlé des langues peut faire l&rsquo;affaire).</p>
<p style="padding-left: 30px;">Ou bien ceci, en utilisant une description textuelle :</p>
<pre style="padding-left: 30px;">ex:notice_de_fonds_archives_1 dcterms:language "Latin. Ecriture insulaire 
(noter en particulier l'abréviation utilisée pour per)" .</pre>
<hr />
<h2>Spécialiser les entités</h2>
<p style="text-align: justify;">La vision du monde RDF et OWL comporte un présupposé majeur : il existerait dans le monde réel des &laquo;&nbsp;choses&nbsp;&raquo; que l&rsquo;on peut identifier de manière certaine, que l&rsquo;on peut isoler des autres, et auxquelles on peut donner une URI. C&rsquo;est une vision où le monde se &laquo;&nbsp;discretise&nbsp;&raquo; pour mieux se manipuler. Une manipulation du monde sans le langage. Mais il n&rsquo;est pas du tout sûr que des &laquo;&nbsp;entités&nbsp;&raquo; que l&rsquo;on puisse identifier et isoler existent ailleurs que dans notre tête (je crois que <a href="http://www.imdb.com/title/tt1817287/" target="_blank">Chomsky et Gondry parlent de ça</a>, si j&rsquo;ai bien compris, mais il faudrait que je revoie le film). Et une vision du monde qui ne prend pas en compte l&rsquo;aspect temporel. Alors que tout change. Qu&rsquo;on ne se baigne jamais deux fois dans la même eau. Que seul le changement est permanent. etc.</p>
<p style="text-align: justify;">Mais revenons à nos archives pour replacer ce problème en contexte : l&rsquo;archiviste décrit toujours une entité (comme une société par exemple) en regardant dans le rétroviseur, au passé. On ne décrit donc pas <em>&laquo;&nbsp;une société&nbsp;&raquo;</em>, on décrit <em>&laquo;&nbsp;la vie de la société&nbsp;&raquo;</em>. Est-on en droit de dire que l&rsquo;on parle de <em>la même</em> société lors de son immatriculation et 30 ans plus tard quand elle est devenue une multinationale ? Est-ce que la société Apple au début des années 1980 et la société Apple en 2014 sont <em>la même chose</em> ? peut-être pas. Ou pas complètement. Tout ce qui se rapporte à &laquo;&nbsp;Apple au début des années 1980&Prime; ne se rapporte pas forcément à &laquo;&nbsp;Apple en 2014&Prime;.</p>
<p style="text-align: justify;"><strong>On ne peut pas se contenter d&rsquo;assigner une seule URI unique pour identifier une entité dont on souhaite rendre compte de l&rsquo;évolution. Il nous en faut <em>plusieurs</em>.</strong> Et autant le point de départ de ce paragraphe nous a emmené dans des questions philosophiques théoriques, autant la solution pragmatique à ces questions est simple. Le modèle d&rsquo;ontologie proposé par le W3C pour décrire la &laquo;&nbsp;provenance&nbsp;&raquo; (on dirait plutôt l&rsquo; &laquo;&nbsp;origine&nbsp;&raquo; ou l&rsquo; &laquo;&nbsp;historique&nbsp;&raquo;, en français), <a href="http://www.w3.org/TR/prov-o/" target="_blank">PROV-O</a>, propose 2 notions intéressantes : la notion d&rsquo; <a href="http://www.w3.org/TR/prov-o/#Entity" target="_blank">&laquo;&nbsp;Entité&nbsp;&raquo;</a> (qui peut être ce qu&rsquo;on veut : &laquo;&nbsp;An entity is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary.&nbsp;&raquo;) , et la notion de <a href="http://www.w3.org/TR/prov-o/#specializationOf" target="_blank">&laquo;&nbsp;spécialisation d&rsquo;entité&nbsp;&raquo;</a>. Et c&rsquo;est cette dernière notion qui va particulièrement nous intéresser : la &laquo;&nbsp;spécialisation&nbsp;&raquo; d&rsquo;une entité <em>&laquo;&nbsp;en possède toutes les caractéristiques et présente en plus certains aspects spécifiques de cette entité. En particulier la plage de validité (lifespan) de l&rsquo;entité qui est spécialisée contient les plages de validité de ses spécialisations. Des exemples de spécialisation peuvent être une période de temps ou un certain contexte.&nbsp;&raquo;</em></p>
<p style="text-align: justify;">On pourra donc par exemple avoir 1/ une URI pour désigner &laquo;&nbsp;Apple&nbsp;&raquo; en tant qu&rsquo;entité générique 2/ une URI pour chaque grande période de la vie de société, comme par exemple les 6 grandes périodes décrites dans l&rsquo;historique de la <a href="http://en.wikipedia.org/wiki/Apple_Inc.#History" target="_blank">page Wikipedia :</a></p>
<pre>ex:Apple_entre_1976_et_1980 prov:specializationOf ex:Apple_en_general .
ex:Apple_entre_1981_et_1989 prov:specializationOf ex:Apple_en_general .
ex:Apple_entre_1990_et_1999 prov:specializationOf ex:Apple_en_general .
etc...</pre>
<p style="text-align: justify;">La finesse du découpage de la vie de l&rsquo;entité en périodes historiques est laissée à l&rsquo;appréciation de chacun. Les ressources archivistiques peuvent alors se rapporter soit à l&rsquo;entité &laquo;&nbsp;générique&nbsp;&raquo;, soit à l&rsquo;une de ses &laquo;&nbsp;spécialisations&nbsp;&raquo;. Chacune des spécialisations portera ses caractéristiques propres (nombre d&rsquo;employés, siège social, organigramme, etc.). On gagne en finesse de description de l&rsquo;entité, et en finesse d&rsquo;indexation des ressources.</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/">Penser, modéliser (pour le web de données) &#8211; 2/2</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Penser, modéliser (pour le web de données) (1/2)</title>
		<link>https://blog.sparna.fr/2014/05/12/penser-modeliser-web-de-donnees-1/</link>
		<comments>https://blog.sparna.fr/2014/05/12/penser-modeliser-web-de-donnees-1/#comments</comments>
		<pubDate>Mon, 12 May 2014 17:14:04 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[modélisation]]></category>
		<category><![CDATA[ontologie]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=560</guid>
		<description><![CDATA[<p>J&#8217;ai récemment eu le plaisir de collaborer avec la société Anaphore à la mise au point d&#8217;un modèle d&#8217;ontologie pour décrire des fonds d&#8217;archives. S&#8217;il ne m&#8217;appartient pas de dévoiler le contenu de ce modèle qui sera je l&#8217;espère rendu public dans quelques semaines, je voulais donner quelques retours d&#8217;expérience sur le processus de modélisation&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2014/05/12/penser-modeliser-web-de-donnees-1/">Penser, modéliser (pour le web de données) (1/2)</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">J&rsquo;ai récemment eu le plaisir de collaborer avec la société <a href="http://labs.anaphore.eu/les-travaux-recents-danaphore/" target="_blank">Anaphore</a> à la mise au point d&rsquo;un modèle d&rsquo;ontologie pour décrire des <a href="http://fr.wikipedia.org/wiki/Fonds_d%27archives" target="_blank">fonds d&rsquo;archives</a>. S&rsquo;il ne m&rsquo;appartient pas de dévoiler le contenu de ce modèle qui sera je l&rsquo;espère rendu public dans quelques semaines, je voulais donner quelques retours d&rsquo;expérience sur le processus de modélisation lui-même, ainsi que sur quelques motifs de conception que nous avons mis en oeuvre (dans un second article). <span id="more-560"></span></p>
<h2>Pour quoi modélise-t-on ?</h2>
<p style="text-align: justify;">La question n&rsquo;est pas aussi simple qu&rsquo;il n&rsquo;y parait, et il y a tout à gagner à mettre à plat dès le début du travail de modélisation la distinction entre :</p>
<ul style="text-align: justify;">
<li>un modèle/format de travail;</li>
<li>un modèle/format d&rsquo;échange;</li>
<li>et un modèle conceptuel;</li>
</ul>
<p style="text-align: justify;">Est-ce que l&rsquo;on cherche à définir un modèle de travail qui sera utilisé <em>à l&rsquo;intérieur</em> d&rsquo;un système logiciel (le schéma des tables de sa base de données, pour faire simple) ? ou bien est-ce qu&rsquo;on cherche à définir un modèle d&rsquo;échange qui sera fait pour publier les données <em>à l&rsquo;extérieur</em> du système logiciel, sur le web de données ? La distinction est empruntée à <a href="http://www.utc.fr/~bachimon" target="_blank">Bruno Bachimont</a> (dans <a href="http://www.lavoisier.fr/livre/documentation/ingenierie-des-connaissances-et-des-contenus-le-numerique-entre-ontologies-et-documents/bachimont/descriptif-9782746213692" target="_blank"><em>Ingénierie des connaissances et des contenus : le numérique entre ontologies et documents</em></a> (Lavoisier, 2007)) :</p>
<blockquote><p>&laquo;&nbsp;Les formats d’échange permettent de rendre lisibles par différentes applications les mêmes données. Les formats de travail permettent à une application d’effectuer tous les traitements nécessaires et de créer les structures à cet effet.&nbsp;&raquo;</p></blockquote>
<p style="text-align: justify;">Ou bien encore, et c&rsquo;est un peu différent, est-ce que l&rsquo;on cherche à esquisser un modèle conceptuel du domaine, c&rsquo;est-à-dire se mettre d&rsquo;accord sur les principales entités de ce domaine et les relations qu&rsquo;elles entretiennent entre elles, sans rentrer dans les détails d&rsquo;implémentation ? <a href="http://www.bnf.fr/fr/professionnels/modelisation_ontologies/a.modele_FRBR.html#SHDC__Attribute_BlocArticle0BnF" target="_blank">FRBR</a> par exemple est un modèle conceptuel, et <a href="http://www.bnf.fr/fr/professionnels/rda/s.rda_objectifs.html" target="_blank">RDA</a> est une implémentation de FRBR en tant que modèle d&rsquo;échange; et rien n&rsquo;implique qu&rsquo;un logiciel compatible avec ce format d&rsquo;échange l&rsquo;utilise effectivement en tant que format de travail; il y a même toutes les chances que non.</p>
<p style="text-align: justify;">La distinction entre ces 3 objectifs est importante car chacun va apporter ses contraintes : par exemple, faire le modèle de travail d&rsquo;une application implique de prendre en compte des contraintes de facilité de saisie ou de navigation dans les données pour l&rsquo;utilisateur, ou de traçabilité des informations (quel utilisateur a créé quoi). Faire un modèle de publication pour le web de données amène des contraintes de facilité de compréhension, et de réutilisation du modèle. Faire un modèle de domaine ne demande pas de rentrer dans le détail de chaque propriété et de chaque relation, mais d&rsquo;être tout à fait clair sur la définition de chaque entité.</p>
<p style="text-align: justify;"><strong>Retour d&rsquo;expérience numéro 1 : déterminer précisément l&rsquo;objectif du modèle : modèle interne à une application, modèle de publication, ou modèle conceptuel.</strong></p>
<h2>&laquo;&nbsp;Be real&nbsp;&raquo;</h2>
<p style="text-align: justify;">Les modèles, les ontologies et tous ces bazars conceptuels ont ce côté rassurant des arrières-mondes que l&rsquo;on fabrique pour s&rsquo;échapper du douloureux réel. Tant que l&rsquo;on reste dans le modèle, tout va bien, mais quand on commence à regarder les données, les vraies données qui existent réellement pour de vrai, ça fait toujours un peu mal : on a oublié de prendre en compte telle colonne dans le fichier de données, telle autre contient du texte alors qu&rsquo;on avait prévu une référence contrôlée, etc. Pour paraphraser la boutade philosophico-geek &laquo;&nbsp;le réel, c&rsquo;est ce qui fait mal quand on éteint l&rsquo;ordinateur&nbsp;&raquo;, on pourrait dire &laquo;&nbsp;les données, c&rsquo;est ce qui fait mal quand on a fini le modèle&nbsp;&raquo;. &laquo;&nbsp;Reality is broken&nbsp;&raquo;, par essence.</p>
<p style="text-align: justify;">Non content de faire un modèle avec des boîtes et des flèches, il faut travailler le plus tôt possible dans le processus de modélisation sur les vraies données. Les exemples de données existantes exprimées suivant le modèle conçu doivent faire partie des livrables, autant que le modèle lui-même.</p>
<p style="text-align: justify;"><strong>Retour d&rsquo;expérience numéro 2 : travailler sur des exemples de vraies données, en les exprimant dans le modèle cible.</strong></p>
<h2>Modéliser c&rsquo;est communiquer</h2>
<p style="text-align: justify;">Tous les modèles sont imparfaits, on a beau le savoir il faut se le redire sans cesse pour ne pas oublier la réalité que ce modèle tente de capturer. Ce n&rsquo;est pas la réalité qui est cassée (&laquo;&nbsp;reality is broken&nbsp;&raquo;), ce sont nos modèles. Ou plutôt, la réalité est cassée <em>parce qu&rsquo;on en fait des modèles</em>.</p>
<p style="text-align: justify;">Tous les modèles sont imparfaits, car, malgré toutes les précautions que vous aurez prises pour faire émerger une objectivité, celle-ci ne restera finalement que votre vision du monde, la vôtre personnellement, ou celle du groupe de gens qui ont participé à sa mise au point. Eternelle subjectivité. Et c&rsquo;est précisément parce que votre modèle est subjectif qu&rsquo;il faut être capable de l&rsquo;expliciter, de l&rsquo;expliquer, de le communiquer aux autres. Le modèle doit servir de moyen, de support à la communication de votre vision du domaine métier. Il doit permettre d&rsquo;instaurer un dialogue. Eternelle inter-subjectivité. Dès lors, il faut s&rsquo;appliquer à rendre le modèle communicable :</p>
<ul style="text-align: justify;">
<li>99% des modèles OWL que l&rsquo;on trouve sur le web utilisent des URIs et des libellés en anglais. Mais pourquoi ne pas faire un modèle en français, si on le voit comme un support de communication à destination d&rsquo;acteurs francophones ? c&rsquo;est le parti que nous avons pris avec Anaphore. Pensons local avant de penser universel, il sera toujours temps, le jour où le modèle aura un succès international, de le traduire ;</li>
<li>un fichier d&rsquo;ontologie OWL ne suffit pas; c&rsquo;est incompréhensible. Faites des diagrammes, des schémas, dès le début du processus de modélisation, pour vous mettre d&rsquo;accord et pouvoir parler du modèle. La communication autour du modèle commence dès sa conception ;</li>
<li>c&rsquo;est une évidence, mais documentez les classes et les propriétés du modèle, et le modèle lui-même, en suivant <a href="http://lov.okfn.org/dataset/lov/Recommendations_Vocabulary_Design.pdf" target="_blank">les pratiques de bon sens documentées dans le LOV </a>;</li>
<li>utilisez les outils de génération automatique de documentation à partir du fichier OWL, comme <a href="http://www.essepuntato.it/lode" target="_blank">LODE</a> ou <a href="http://ontorule-project.eu/parrot/parrot" target="_blank">Parrot</a>. Nous avons utilisé LODE pour son rendu propre et la possibilité d&rsquo;intégrer les images des diagrammes dans la documentation ;</li>
<li>prévoyez un moyen de recevoir du feedback une fois votre modèle publié; a minima une adresse e-mail, ou une mailing-list, un forum, un formulaire de suggestion, un hashtag, ce que vous voulez, mais permettez qu&rsquo;un dialogue s&rsquo;instaure.</li>
</ul>
<p style="text-align: justify;"><strong>Retour d&rsquo;expérience numéro 3 : penser dès le départ le modèle comme un moyen de communication, autant qu&rsquo;un moyen de structurer les informations dans un système informatique.</strong></p>
<h2>Un arbre plutôt que du marbre</h2>
<p style="text-align: justify;">Si vous vous placez dans la perspective de publier un modèle OWL sur le web, il faut envisager cela à la fois, bien sûr, comme l&rsquo;aboutissement d&rsquo;un travail de réflexion, mais aussi comme le début d&rsquo;un processus d&rsquo;évolution. Ne pensez pas que votre modèle va être figé une fois publié. Si, comme évoqué précédemment, vous avez tenu compte de la réalité des données, et que vous avez prévu les moyens de dialogue et de feedback, alors votre modèle évoluera en tenant compte des évolutions dans l&rsquo;expression des données et des retours de la communauté. Soyez donc prêt à prendre en compte ces retours, en prévoyant pourquoi pas un mécanisme de versioning, et en établissant clairement le processus de mise à jour; sans faire l&rsquo;erreur de <a href="http://xmlns.com/foaf/spec/#sec-evolution" target="_blank">FOAF</a> qui a incorporé un numéro de version dans son URI, en étant maintenant incapable de la changer sans embêter tous ses utilisateurs !</p>
<blockquote><p>&laquo;&nbsp;&#8230;the technical namespace ID [of FOAF] remains fixed and includes the original value of &laquo;&nbsp;0.1&nbsp;&raquo;. It long ago became impractical to update the namespace URI without causing huge disruption to both producers and consumers of FOAF data. We are left with the digits &laquo;&nbsp;0.1&nbsp;&raquo; in our URI. This stands as a warning to all those who might embed metadata in their vocabulary identifiers.&nbsp;&raquo;</p></blockquote>
<p style="text-align: justify;">Bref, pensez à votre modèle comme quelque chose de vivant, un arbre plutôt que quelque chose de figé dans le marbre. Une certaine automatisation dans son processus de publication sur le web peut donc être bienvenue.</p>
<p style="text-align: justify;">Evidemment, si votre modèle est un modèle de travail interne pour une solution logicielle, son évolution est moins aisée, la problématique est différente.</p>
<p style="text-align: justify;"><strong>Retour d&rsquo;expérience numéro 4 : penser à l&rsquo;évolution du modèle une fois sa mise en ligne, ne pas hésiter à le faire évoluer.</strong></p>
<p style="text-align: justify;">Le second volet de ces quelques réflexions, dont le titre &laquo;&nbsp;Penser, modéliser&nbsp;&raquo; s&rsquo;inspire du livre &laquo;&nbsp;<a href="http://livre.fnac.com/a1417192/Georges-Perec-Penser-classer" target="_blank">Penser, classer</a>&nbsp;&raquo; de Georges Perec, sera consacré aux motifs de conception (design pattern) utilisés pour construire ce modèle de description des fonds d&rsquo;archives.</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2014/05/12/penser-modeliser-web-de-donnees-1/">Penser, modéliser (pour le web de données) (1/2)</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sparna.fr/2014/05/12/penser-modeliser-web-de-donnees-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
