<?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; Ontologies</title>
	<atom:link href="https://blog.sparna.fr/category/theme/ontologies-theme/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>European Parliament Open Data Portal : a SHACL-powered knowledge graph</title>
		<link>https://blog.sparna.fr/2025/04/09/european-parliament-open-data-portal-a-shacl-powered-knowledge-graph/</link>
		<comments>https://blog.sparna.fr/2025/04/09/european-parliament-open-data-portal-a-shacl-powered-knowledge-graph/#comments</comments>
		<pubDate>Wed, 09 Apr 2025 14:10:12 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[Editeurs]]></category>
		<category><![CDATA[FAIR]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[SHACL]]></category>
		<category><![CDATA[SHACL Play]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[DCAT]]></category>
		<category><![CDATA[ELI]]></category>
		<category><![CDATA[google spreadsheets]]></category>
		<category><![CDATA[json-ld]]></category>
		<category><![CDATA[knowledge graph]]></category>
		<category><![CDATA[SKOS]]></category>
		<category><![CDATA[SPARQL]]></category>

		<guid isPermaLink="false">https://blog.sparna.fr/?p=1959</guid>
		<description><![CDATA[<p>A second usecase Thomas wrote for Veronika Heimsbakk’s SHACL for the Practitioner upcoming book is about Sparna&#8217;s work for the European Parliament. From validation of the data in the knowledge graph to further projects of data integration and dissemination, many different usages of SHACL specifications were explored&#8230; &#8230; and more exploratory usages of SHACL are foreseen ! “&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/04/09/european-parliament-open-data-portal-a-shacl-powered-knowledge-graph/">European Parliament Open Data Portal : a SHACL-powered knowledge graph</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A second usecase Thomas wrote for Veronika Heimsbakk’s <em><a href="https://veronahe.wordpress.com/shacl-for-the-practitioner/">SHACL for the Practitioner</a></em> upcoming book is about Sparna&rsquo;s work for the European Parliament.</p>
<p>From validation of the data in the knowledge graph to further projects of data integration and dissemination, many different usages of SHACL specifications were explored&#8230;</p>
<p>&#8230; and more exploratory usages of SHACL are foreseen !</p>
<h1>“</h1>
<h2><strong>A knowledge-graph powered open data portal</strong></h2>
<p><a href="https://data.europarl.europa.eu/">The European Parliament Open Data Portal (EPODP)</a> went live in January 2023. Its particularity is that it is not a mere aggregation of documents or dump files from business applications in custom formats; but rather a <strong>collection of datasets each extracted from a central semantic knowledge graph</strong>, itself aggregating data migrated from approximately <strong>twenty business applications</strong>. The result is a semantically interoperable open data portal : the semantic of its data model is clearly defined and documented, and reuses widely deployed existing ontologies. It already provides its data to different consumers (most notably <a href="https://www.europarl.europa.eu/">the europarl website</a> and <a href="https://law-tracker.europa.eu/">the EU law tracker</a>) in a context of cross-institutions interoperability. The data captures the activity of the parliament : as co-legislator together with the Council of the EU, the European Parliament (EP) holds plenary sittings, in which reports originating from committees, as well as motion for resolutions, are amended and voted; after the vote, the final adopted texts are published.</p>
<p>The focus on semantic interoperability of EPODP maximizes the potential of reuse and linkage of its datasets, and <strong>maximizes the quality</strong> of the offered data. It comes however at a cost when building the portal : deep analysis and understanding of the existing data and documents structure is required to capture the business semantic. SHACL is the way to formally encode this business semantic &#8211; but how is it deployed in practice ? how is it maintained ? what are the different types of SHACL specifications used ?</p>
<h2><strong>SHACL at the center of a model-driven approach</strong></h2>
<p>SHACL in the EPODP is at the basis of multiple model-driven usages depicted in the following diagram:</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/04/spec-SHACL.png"><img class="aligncenter size-large wp-image-1961" src="https://blog.sparna.fr/wp-content/uploads/2025/04/spec-SHACL-1024x508.png" alt="spec-SHACL" width="650" height="322" /></a></p>
<p>There was two key drivers for introducing the use of SHACL in the EPODP project : <strong>validation of the data</strong> in the knowledge graph, and <strong>generation of public documentations</strong> of the models. The same SHACL specification that captures the business semantic is directly actionable to be published as a documentation and to validate the data. The produced documentation is a set of public files, such as <a href="https://data.europarl.europa.eu/def/eli-ep">the ELI-EP application profile documentation</a> and others accessible from <a href="https://data.europarl.europa.eu/en/developer-corner">the EPODP developer&rsquo;s corner</a>. <a href="https://shacl-play.sparna.fr/play/doc">The SHACL Play documentation generator</a> is used to produce the documentation pages. Data validation happens at earlier stages, after data transformation steps.</p>
<p>Two additional usages of SHACL specifications were explored : one was to generate SPARQL queries to extract the content of datasets from the larger knowledge graph. The SHACL specification of a dataset content is interpreted to generate SPARQL CONSTRUCT queries, executed against the entire knowledge graph, to return a subset of data corresponding to the specification. The query generation was implemented <a href="https://shacl-play.sparna.fr/play/sparql">in SHACL Play</a>, however the EPODP chose to continue using manually crafted SPARQL queries to generate the datasets. The other usage was to complement the SHACL specifications with the mapping rules used to feed the corresponding properties or classes in the graph. This has the advantage that the mapping rules are documented and maintained alongside the specification and not in a separate document. This work is ongoing.</p>
<p>More exploratory usages of SHACL are foreseen : generating a query user interface based on the SHACL specification, <a href="https://docs.sparnatural.eu/how-to-configure-shacl/How-to-configure-Sparnatural-shacl.html">using the <strong>Sparnatural</strong> query builder</a>, and also input forms to facilitate the creation of DCAT datasets descriptions. Additionally, automated generation of the JSON-LD context and the JSON schema of the API are foreseen.</p>
<h2><strong>Not &laquo;&nbsp;1 SHACL to rule them all&nbsp;&raquo;, but application profiles, dataset definitions, and migration specifications</strong></h2>
<p>The definition of the EPODP knowledge graph is not captured in a single SHACL specification, but rather in three different application profiles, each being a selection of classes and properties of one sub-domain : <strong><a href="https://data.europarl.europa.eu/def/eli-ep">ELI-EP</a></strong> covers the description of documents and activities, <strong><a href="https://data.europarl.europa.eu/def/org-ep">ORG-EP</a></strong> covers the definitions of EP organisations (such as committees, political groups, etc.) and members of the parliament, and <strong><a href="https://europarl.github.io/skos-ep">SKOS-EP</a></strong> covers how controlled vocabularies are structured. In addition, <a href="https://data.europarl.europa.eu/def/dcat-ep">DCAT-EP</a> is the specification for how dataset records are described in the EPODP catalog &#8211; but this is not part of the knowledge graph <em>per se</em>.</p>
<p>Together, ELI-EP, ORG-EP and SKOS-EP specify the structure of the entire knowledge graph from which the datasets are extracted. In addition, the structure of each dataset family available in the EPODP (such as adopted texts, plenary documents, parliamentary questions, etc.) is also described in SHACL, referred to as <strong>&laquo;&nbsp;DSD&nbsp;&raquo; for &laquo;&nbsp;Dataset Definition&nbsp;&raquo;</strong>. While the application profiles describe every possible properties on generic shapes, the DSDs will specify only the subset of properties used in a dataset, with possibly different cardinalities or range. For example, ELI-EP specifies that <em>&laquo;&nbsp;a Work may have the property</em><em> </em><em>eli:adopts</em><em>&laquo;&nbsp;</em> (with no minimum cardinality (eli:adopts is defined as <em>&laquo;&nbsp;Indicates that the work represents the adopted work of one or several related works&nbsp;&raquo;</em>). The DSD for adopted texts datasets specifies the shape of &laquo;&nbsp;Adopted texts&nbsp;&raquo; as a subset of the Works, and indicates that the minimum cardinality of eli:adopts is 1 for this particular subset. Besides, some properties, such as eli:amends are not available for adopted texts, thus not declared in the DSD.</p>
<p>In addition, specifications of the conversion of some data sources are also specified in independent SHACL files. The articulations of these 3 kinds of SHACL files and the reused ontologies is depicted in the following diagram:</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/04/3-SHACL-shapes.png"><img class="aligncenter size-large wp-image-1962" src="https://blog.sparna.fr/wp-content/uploads/2025/04/3-SHACL-shapes-1024x603.png" alt="3-SHACL-shapes" width="650" height="383" /></a></p>
<p>There is currently no reuse or reference of shapes across the different specifications. Each is independent. A nice improvement would be to study how SHACL DSDs could be derived from the application profile SHACL, without redeclaring the identical constraints.</p>
<h2><strong>Editing SHACL in spreadsheets</strong></h2>
<p>In total 16 SHACL specifications are currently published in the EPODP, and around 80 are used to validate data migrated from each individual sources. The first step in the specification of each model is the design in a diagram such as the ones visible in the public documentations of the models. The EPODP team is then using spreadsheets to encode the specifications, adapted from the one provided <a href="https://shacl-play.sparna.fr/play/shaclexcel">in the SHACL Play suite</a>. The spreadsheet is converted to SHACL using <a href="https://xls2rdf.sparna.fr/rest/">the xls2rdf converter</a>. <strong>Spreadsheets provide a simple editing solution</strong>, with an easy learning curve, made even easier with a few formulas to compute cell values automatically. It even provides ways for editing advanced patterns (such as the ability to directly turtle lists for sh:or, or blank nodes for property paths), but of course still limits the expressivity. The following screenshot shows how property shapes look like in the spreadsheet:</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/04/properties-ELI.png"><img class="aligncenter size-large wp-image-1963" src="https://blog.sparna.fr/wp-content/uploads/2025/04/properties-ELI-1024x442.png" alt="properties-ELI" width="650" height="281" /></a></p>
<h2></h2>
<h2><strong>Results and future perspectives</strong></h2>
<p>The EPODP use-case shows how SHACL can be applied in a systematic way in a data integration and dissemination project : at the data transformation step, at the knowledge graph level, and at the data dissemination. <strong>Public documentation, data validation, data extraction are tasks that can be be automated based on a SHACL specification</strong>. While the context is one of a large public institution, the same approach can be applied in industrial contexts. The SHACL specifications are a cornerstone of such projects, enabling semantic interoperability at large and a mutual understanding between business experts, data analysts, developers, and data consumers.</p>
<p>&nbsp;</p>
<h1>”</h1>
<p>Veronika&rsquo;s book will be divided into three parts :<br class="html-br" /><br class="html-br" />1. Back to Basics<br class="html-br" />Introduction to logic and RDF, brief skimming of the topics. Also covering various world assumptions.</p>
<p>2. Getting to know the stuff<br class="html-br" />Introduction to SHACL, including core, sh-sparql, advanced features.</p>
<p>3. Working with the stuff<br class="html-br" />SHACL Stories. Use cases, user stories and implementations.</p>
<p><em>Image : © European Union, [2024] &#8211; EP</em></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/04/09/european-parliament-open-data-portal-a-shacl-powered-knowledge-graph/">European Parliament Open Data Portal : a SHACL-powered knowledge graph</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/2025/04/09/european-parliament-open-data-portal-a-shacl-powered-knowledge-graph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Genesis of Sparnatural in the context of the OpenArchaeo platform</title>
		<link>https://blog.sparna.fr/2025/03/28/the-genesis-of-sparnatural-in-the-context-of-the-openarchaeo-platform/</link>
		<comments>https://blog.sparna.fr/2025/03/28/the-genesis-of-sparnatural-in-the-context-of-the-openarchaeo-platform/#comments</comments>
		<pubDate>Fri, 28 Mar 2025 14:54:53 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[FAIR]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[Recherche d'informations]]></category>
		<category><![CDATA[Sparnatural]]></category>
		<category><![CDATA[SPARQL]]></category>
		<category><![CDATA[Triplestores]]></category>
		<category><![CDATA[CIDOC-CRM]]></category>
		<category><![CDATA[Huma-Num]]></category>
		<category><![CDATA[ResearchSpace]]></category>
		<category><![CDATA[thesaurus]]></category>
		<category><![CDATA[Triplestore]]></category>

		<guid isPermaLink="false">https://blog.sparna.fr/?p=1949</guid>
		<description><![CDATA[<p>The OpenArchaeo platform, developed by French consortium Huma-Num MASAplus (Mémoire des Archéologues et des Sites Archéologiques) together with SPARNA, is a platform dedicated to archaeological data interoperability. This semantic interoperability objective relies on the strong conceptual foundations offered by the CIDOC-CRM data model. Paired with the CIDOC-CRM in a federated way, OpenArchaeo aims at :&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/03/28/the-genesis-of-sparnatural-in-the-context-of-the-openarchaeo-platform/">The Genesis of Sparnatural in the context of the OpenArchaeo platform</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://openarchaeo.huma-num.fr">OpenArchaeo</a> platform, developed by French <a href="https://www.huma-num.fr/les-consortiums-hn/#MASAplus">consortium Huma-Num MASAplus</a> (Mémoire des Archéologues et des Sites Archéologiques) together with SPARNA, is a platform dedicated to archaeological data interoperability. This semantic interoperability objective relies on the strong conceptual foundations offered by the <a href="https://blog.sparna.fr/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/">CIDOC-CRM</a> data model.</p>
<p>Paired with the CIDOC-CRM in a federated way, OpenArchaeo aims at :</p>
<ul>
<li>making available the archaeological datasets produced by the MASAplus consortium’s partners on the semantic web, in the form of a triplestore with data aligned with the ontology and its extensions dedicated to archaeology ;</li>
<li>providing an intuitive query interface for archaeological data.</li>
</ul>
<p>The latter query interface integrates the Sparnatural knowledge graph exploration component. The UI of this component was heavily inspired by the British Museum&rsquo;s ResearchSpace semantic search feature, as the system proposes the user to build his own queries based on the CIDOC-CRM model underlying the data.</p>
<h2>About ResearchSpace platform</h2>
<p>Initiated in 2009 by a cross-disciplinary team at the British Museum, ResearchSpace is « A full CIDOC-CRM authoring and search system, based on an exhaustive collection of forms that reflects all applicable relationships from the CIDOC CRM ontology. »</p>
<p>Among a wide range of semantic tools to create, manipulate, analyse and visualise data, the platform provides a s<a href="https://documentation.researchspace.org/resource/Help:SemanticSearch">emantic structured search component</a> based on categories and relations.</p>
<p>While open source, ResearchSpace’s code didn’t fit our architecture : we just chose to follow the simple visual elements of ResearchSpace’s query interface to develop our own Sparnatural query builder for OpenArchaeo, and set up a system of icons to identify the main components of the archaeological data.</p>
<p>ResearchSpace has recently (december 2024) released a brand new <a href="https://github.com/researchspace/researchspace/blob/master/release-notes.md">4.0.0 version</a>. This latest can be installed easily and now comes with a default setup of forms based on the CIDOC-CRM. It enables image annotations, knowledge maps creations, semantic narratives writing, timeline productions, and more <a href="https://researchspace.org/semantic-tools/">semantic tools</a>.</p>
<h2>Sparnatural’s first use-case was OpenArchaeo’s CIDOC-CRM model !</h2>
<p><a href="http://openarchaeo.huma-num.fr/explorateur/home">The structure of the knowledge graph of OpenArchaeo</a> relies on the CIDOC-CRM and some of its extension (CRMarchaeo, CRMsci and CRMba). It is a generic model that covers the basic concepts found in most archaeological corpuses (site, operation, structure, feature, wall, burial, stratigraphic unit and artifact).</p>
<p>Here a focus on Class S19 :</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/03/modeleOpenArchaeoEn_base.png"><img class="aligncenter size-full wp-image-1950" src="https://blog.sparna.fr/wp-content/uploads/2025/03/modeleOpenArchaeoEn_base.png" alt="modeleOpenArchaeoEn_base" width="898" height="416" /></a><br />
Several external thesauri were added too for querying the datasets : <a href="https://pactols.frantiq.fr/">PACTOLS thesaurus for archaelogy</a>, but also <a href="https://www.geonames.org/ontology/documentation.html">Geonames</a> and <a href="https://perio.do/technical-overview/">Periodo</a> for spatial and temporal searches.</p>
<p>This way, when users wish to connect two elements (artifact and site for example), the interface automatically suggests the available relationships between these entities, enabling users to formulate their request in a simple way without having to know either the entities and properties of CIDOC CRM, or the structure of the system : the SPARQL queries that correspond to the sentences visually built by users will be automatically computed. In addition, the usage of thesauri allows the users to cross-reference easily multiple datasets through the different widgets proposed in Sparnatural.</p>
<h2><a href="https://github.com/sparna-git/Sparnatural/releases">Get the latest release of Sparnatural !</a></h2>
<p>Since it was created for OpenArchaeo in 2019, Sparnatural UI has been fully redesigned. It now offers a large panel of features, from different <a href="https://docs.sparnatural.eu/widgets.html">widgets for value selection</a> (dropdown lists, ordered by occurrence count or alphabetically, autocomplete search fields, date pickers, tree widgets&#8230;) to brand new <a href="https://docs.sparnatural.eu/result-display.html">result display plugins</a> : the default visualisation is a table of results, but if the results are geolocalized they can be shown in a map. Also grid, stats, pie or bar charts, and a timeline plugin have been made available and documented.</p>
<h2>To go further on OpenArchaeo’s platform &#8230;</h2>
<p><a href="https://www.youtube.com/watch?v=8GW5sirwHJs">See a presentation of the project on the CIDOC Museum Documentation Channel</a><br />
(« Semantic modelling of archaeological data online workshop series »)</p>
<p>The platform : <a href="http://openarchaeo.huma-num.fr/">http://openarchaeo.huma-num.fr/</a></p>
<p>The project : <a href="https://masa.hypotheses.org/openarchaeo">https://masa.hypotheses.org/openarchaeo</a></p>
<p>Read full research paper about the project : <a href="https://ceur-ws.org/Vol-2375/paper1.pdf">https://ceur-ws.org/Vol-2375/paper1.pdf</a></p>
<p><em>Image : Vestiges of a large villa in Courbehaye &laquo;&nbsp;les Deux Muids / le Moulin de Mongé&nbsp;&raquo;, photo Alain Lelong (2003), <a href="https://aerba.huma-num.fr/fiche.html?id=2811401">Atlas des Établissements Ruraux de Beauce Antique</a>, licence </em><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA</a></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/03/28/the-genesis-of-sparnatural-in-the-context-of-the-openarchaeo-platform/">The Genesis of Sparnatural in the context of the OpenArchaeo platform</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/2025/03/28/the-genesis-of-sparnatural-in-the-context-of-the-openarchaeo-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour sur &#8230; Le déploiement de Sparnatural pour FranceArchives</title>
		<link>https://blog.sparna.fr/2025/02/14/retour-sur-le-deploiement-de-sparnatural-pour-francearchives/</link>
		<comments>https://blog.sparna.fr/2025/02/14/retour-sur-le-deploiement-de-sparnatural-pour-francearchives/#comments</comments>
		<pubDate>Fri, 14 Feb 2025 17:35:50 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[Recherche d'informations]]></category>
		<category><![CDATA[Sparnatural]]></category>
		<category><![CDATA[SPARQL]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[EAC]]></category>
		<category><![CDATA[EAD]]></category>
		<category><![CDATA[EAG]]></category>
		<category><![CDATA[RiC-O]]></category>
		<category><![CDATA[schema.org]]></category>

		<guid isPermaLink="false">https://blog.sparna.fr/?p=1860</guid>
		<description><![CDATA[<p>Voilà maintenant près d’un an et demi que FranceArchives, le Portail national des Archives de France, a annoncé le déploiement de l’outil « Supernatural » (comprendre Sparnatural) via ses réseaux, dans l’optique de proposer à ses usagers « un accès nouveau aux métadonnées archivistiques, complémentaire de la recherche classique par le moteur du portail ».&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/02/14/retour-sur-le-deploiement-de-sparnatural-pour-francearchives/">Retour sur &#8230; Le déploiement de Sparnatural pour FranceArchives</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h1></h1>
<p><span style="font-weight: 400;">Voilà maintenant près d’un an et demi que FranceArchives, le Portail national des Archives de France, <a href="https://francearchives.gouv.fr/fr/requeteurnaturel">a annoncé le déploiement de l’outil « Supernatural »</a> (comprendre <u><a href="https://sparnatural.eu/">Sparnatural</a></u>) via ses réseaux, dans l’optique de proposer à ses usagers « <em>un accès nouveau aux métadonnées archivistiques, complémentaire de la recherche classique par le moteur du portail</em> ».</span></p>
<p><span style="font-weight: 400;"><a href="https://x.com/FranceArchives/status/1706286558385463319"><img class="aligncenter wp-image-1897 size-full" src="https://blog.sparna.fr/wp-content/uploads/2025/02/Supernatural-e1739532443130.jpg" alt="Supernatural" width="400" height="392" /></a></span></p>
<p><span style="font-weight: 400;">Porté par le Service interministériel des Archives de France, le portail FranceArchives offre une recherche fédérée dans près de 26 millions de métadonnées archivistiques produites par près de 170 institutions et entièrement sémantisées en RDF par le biais de l&rsquo;ontologie RiC-O version 0.2 publiée en février 2021.</span></p>
<p>C’est une des premières utilisations de RiC-O à grande échelle (même s’il faudra à l’avenir qu’il se mette à jour sur la <u><a href="https://www.ica.org/resource/records-in-contexts-ontology/">version 1.0 de RiC-O publiée depuis</a></u> !), et c’est également l&rsquo;un des premiers entrepôts de données archivistiques de cette taille sur le Linked Open Data.</p>
<p><span style="font-weight: 400;">&#8230; Un graphe de données qui a tout pour être « Supernaturalisé » <img src="https://blog.sparna.fr/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span></p>
<h2><b><i>Des données de qualité à une recherche augmentée</i></b></h2>
<p><span style="font-weight: 400;">&#8230; Enfin, il va surtout s’agir de ses « données de qualité », autrement dit les :</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">inventaires avec leurs composants,</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">notices descriptives de producteurs d’archives,</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">fiches signalétiques des services d’archives,</span></li>
</ul>
<p><span style="font-weight: 400;"> </span><span style="font-weight: 400;">… tous objets liés à une autorité « </span><a href="https://francearchives.gouv.fr/fr/agents"><span style="font-weight: 400;">personnes et institutions</span></a><span style="font-weight: 400;"> »</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">« </span><a href="https://francearchives.gouv.fr/fr/locations"><span style="font-weight: 400;">lieux</span></a><span style="font-weight: 400;"> »</span><span style="font-weight: 400;"> et </span><span style="font-weight: 400;">« </span><a href="https://francearchives.gouv.fr/fr/subjects"><span style="font-weight: 400;">thèmes</span></a><span style="font-weight: 400;"> » de qualité (soit moins de 5% des métadonnées du portail avant conversion&#8230; et plus de 70% de l’ensemble du réservoir en RDF !</span><span style="font-weight: 400;">), autorités de qualité elles-mêmes</span><a href="https://francearchives.gouv.fr/fr/article/213604642"> <span style="font-weight: 400;">harmonisées et alignées vers des référentiels nationaux et internationaux</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">M</span><span style="font-weight: 400;">odèle particulièrement adapté à la description des archives en RDF</span><span style="font-weight: 400;">, c’est l’ontologie </span><span style="font-weight: 400;">RiC-O (v0.2</span><span style="font-weight: 400;">) qui a été utilisée pour la sémantisation des données </span><span style="font-weight: 400;">XML EAD</span><span style="font-weight: 400;"> &#8211; </span><span style="font-weight: 400;">XML EAC-CPF</span><span style="font-weight: 400;"> vers RDF, complétée de</span><a href="https://schema.org/"> <span style="font-weight: 400;">schema.org</span></a><span style="font-weight: 400;"> pour les fiches signalétiques des services de l’annuaire au format </span><span style="font-weight: 400;">XML EAG</span><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">Les informations relatives aux archives et à leurs producteurs étant décrites dans des fichiers différents, la recherche avancée via SPARQL rend désormais possible une interrogation fédérée plus fine d’un vaste corpus de notices en « traversant » le graphe structuré selon le modèle RiC-O. </span><span style="font-weight: 400;">En effet, l’intérêt de l’interrogation via SPARQL est de casser les silos entre types de métadonnées : il permet de faire une recherche transversale entre données provenant de fichiers EAD et de fichier EAC-CPF.</span></p>
<p>Les notices affichées en résultats de recherche montrent les alignements existants vers les notices de producteurs externes, Wikidata, data.bnf, GeoNames ou encore le Thesaurus pour l&rsquo;indexation matières des archives locales. C’est ainsi dans l’onglet Personnes/indexations liées que sont exploités les résultats de la conversion en RDF, par le biais de suggestions de recherches complémentaires sur le portail classique.</p>
<p>Une façon de faire bénéficier le grand public du RDF de manière complètement transparente pour lui !</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/02/VictorHugo.jpg"><img class="aligncenter size-large wp-image-1904" src="https://blog.sparna.fr/wp-content/uploads/2025/02/VictorHugo-1024x547.jpg" alt="VictorHugo" width="650" height="347" /></a></p>
<h2><b><i>Quelques exemples de requêtes&#8230;</i></b></h2>
<p><span style="font-weight: 400;">On accède à l’outil via le menu « Recherche SPARQL » <a href="https://francearchives.gouv.fr/fr/requeteurnaturel">en haut à droite du site du portail</a> :</span></p>
<p><span style="font-weight: 400;"> <a href="https://blog.sparna.fr/wp-content/uploads/2025/02/QueriesFA.jpg"><img class="aligncenter size-large wp-image-1905" src="https://blog.sparna.fr/wp-content/uploads/2025/02/QueriesFA-1024x504.jpg" alt="QueriesFA" width="650" height="320" /></a></span></p>
<p><span style="font-weight: 400;">Plusieurs exemples de requêtes sont à disposition pour explorer les données :</span></p>
<p><span style="font-weight: 400;">De la requête la plus simple :</span></p>
<h5><em><b>Personne est membre de Institution</b></em></h5>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/02/SampleFA.jpg"><img class="aligncenter size-large wp-image-1906" src="https://blog.sparna.fr/wp-content/uploads/2025/02/SampleFA-1024x422.jpg" alt="SampleFA" width="650" height="268" /></a></p>
<p><span style="font-weight: 400;"> </span><span style="font-weight: 400;"> </span></p>
<p><img class="aligncenter size-large wp-image-1928" src="https://blog.sparna.fr/wp-content/uploads/2025/02/query11-1024x375.jpg" alt="query1" width="650" height="238" /></p>
<p><span style="font-weight: 400;">À des requêtes de plus en plus élaborées et complexes, comme ici :</span></p>
<h5><em><b>Lieux qui sont le sujet des archives reliées au fonds « Fabrique de berlingot Eysséric »</b></em></h5>
<p><span style="font-weight: 400;"> <a href="https://blog.sparna.fr/wp-content/uploads/2025/02/SampleFA2.jpg"><img class="aligncenter size-large wp-image-1907" src="https://blog.sparna.fr/wp-content/uploads/2025/02/SampleFA2-1024x717.jpg" alt="SampleFA2" width="650" height="455" /></a></span></p>
<p><span style="font-weight: 400;"> <a href="https://blog.sparna.fr/wp-content/uploads/2025/02/query2.jpg"><img class="aligncenter size-large wp-image-1929" src="https://blog.sparna.fr/wp-content/uploads/2025/02/query2-1024x461.jpg" alt="query2" width="650" height="293" /></a></span></p>
<p><span style="font-weight: 400;">Où l’on voit que l’on peut retracer le cheminement de la requête à travers le graphe de l’ontologie RiC-O en cliquant sur </span><i><span style="font-weight: 400;">« </span></i><i><span style="font-weight: 400;">Afficher/masquer l’éditeur SPARQL</span></i><span style="font-weight: 400;"> ».</span></p>
<h2><b><i>Des archives à la page…</i></b></h2>
<p><span style="font-weight: 400;">À noter que le projet, qui avait fait l’objet d’une présentation à l’occasion de</span><a href="https://swib.org/swib23/slides/07_Fabien%20Amarger_Slides.pdf"> <span style="font-weight: 400;">SWIB (</span><span style="font-weight: 400;">Semantic Web in Libraries</span><span style="font-weight: 400;">)</span></a><span style="font-weight: 400;"> et de</span><a href="https://web.archive.org/web/20240715083647/https://semweb.pro/conference/2023/presentation/francearchives-portail-de-reference-pour-les-archives-francaises/"> <span style="font-weight: 400;">SemWebPro 2023</span></a><span style="font-weight: 400;"> a été entièrement déployé (et configuré !) à partir de la documentation disponible sur le site web de Sparnatural.</span></p>
<p><span style="font-weight: 400;">N’hésitez pas à aller la consulter !</span></p>
<p><a href="https://docs.sparnatural.eu/hello-sparnatural/Hello-Sparnatural.html"><span style="font-weight: 400;">Hello Sparnatural</span></a></p>
<p><a href="https://docs.sparnatural.eu/how-to-configure-shacl/How-to-configure-Sparnatural-shacl.html"><span style="font-weight: 400;">How-to configure in SHACL</span></a></p>
<p><a href="https://docs.sparnatural.eu/widgets.html"><span style="font-weight: 400;">Reference documentation of Sparnatural widgets</span></a></p>
<h2><strong>Pour aller plus loin sur la sémantisation des archives…</strong></h2>
<p>Le déploiement de Sparnatural sur FranceArchives fait suite à une autre réalisation de l&rsquo;année précédente, le <a href="https://sparna-git.github.io/sparnatural-demonstrateur-an/">démonstrateur Sparnatural des Archives nationales</a>. Celui-ci avait permis de faire évoluer Sparnatural et de le déployer sur un graphe sémantique en RiC-O de 20 millions de triplets (hors inférence), alimenté avec le contenu de 1577 instruments de recherche décrivant les archives de 40 des 122 études notariales de Paris conservées aux Archives nationales, de 1120 notices décrivant ces études et les notaires qui y ont exercé, et d&rsquo;autres référentiels des Archives nationales notamment sur les lieux de Paris. La réalisation de ce démonstrateur a été <a href="https://sparna-git.github.io/sparnatural-demonstrateur-an/presentation-fr.html">entièrement documentée en français</a> et en <a href="https://sparna-git.github.io/sparnatural-demonstrateur-an/presentation-en.html">anglais</a>. Ce démonstrateur et ses interfaces évolueront d&rsquo;ailleurs bientôt.</p>
<p>Depuis, Sparna s&rsquo;est impliqué dans le domaine de la sémantisation des archives puisque nous développons également, pour les comptes des Archives Nationales, l’outil <u><a href="https://github.com/ArchivesNationalesFR/rico-converter">Ric-O converter</a></u>.</p>
<p>Celui-ci permet la conversion de notices EAD et EAC vers du RDF exprimé en RiC-O. Nous finalisons actuellement une nouvelle version du convertisseur pour le rendre compatible RiC-O 1.0 (et même 1.1 dont la sortie est imminente).</p>
<p><a href="https://blog.sparna.fr/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/">Un nouvel article à paraître ici sur RiC-O ?</a> &#8230; Stay tuned !</p>
<p>&nbsp;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/02/14/retour-sur-le-deploiement-de-sparnatural-pour-francearchives/">Retour sur &#8230; Le déploiement de Sparnatural pour FranceArchives</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/2025/02/14/retour-sur-le-deploiement-de-sparnatural-pour-francearchives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nakala : from an RDF dataset to a query UI in minutes &#8211; SHACL automated generation and Sparnatural</title>
		<link>https://blog.sparna.fr/2025/02/06/nakala-from-an-rdf-dataset-to-a-query-ui-in-minutes-shacl-automated-generation-and-sparnatural/</link>
		<comments>https://blog.sparna.fr/2025/02/06/nakala-from-an-rdf-dataset-to-a-query-ui-in-minutes-shacl-automated-generation-and-sparnatural/#comments</comments>
		<pubDate>Thu, 06 Feb 2025 10:38:25 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Recherche d'informations]]></category>
		<category><![CDATA[SHACL]]></category>
		<category><![CDATA[Sparnatural]]></category>
		<category><![CDATA[SPARQL]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[dcterms]]></category>
		<category><![CDATA[digital humanities]]></category>
		<category><![CDATA[EDM]]></category>
		<category><![CDATA[endpoint]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">https://blog.sparna.fr/?p=1867</guid>
		<description><![CDATA[<p>Here is a usecase of an automated version of Sparnatural submitted as an example for Veronika Heimsbakk&#8217;s SHACL for the Practitioner upcoming book about the Shapes Constraint Language (SHACL). “ The Sparnatural knowledge graph explorer leverages SHACL specifications to drive a user interface (UI) that allows end users to easily discover the content of an RDF graph. What&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/02/06/nakala-from-an-rdf-dataset-to-a-query-ui-in-minutes-shacl-automated-generation-and-sparnatural/">Nakala : from an RDF dataset to a query UI in minutes &#8211; SHACL automated generation and Sparnatural</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Here is a usecase of an automated version of Sparnatural submitted as an example for Veronika Heimsbakk&rsquo;s <em><a href="https://veronahe.wordpress.com/shacl-for-the-practitioner/">SHACL for the Practitioner</a></em> upcoming book about the Shapes Constraint Language (SHACL).</p>
<h1></h1>
<h1>“</h1>
<p>The <a href="https://sparnatural.eu/">Sparnatural knowledge graph explorer</a> leverages SHACL specifications to drive a user interface (UI) that allows end users to easily discover the content of an RDF graph. What is the best way to make this UI-oriented SHACL specification ? if a SHACL specification for the knowledge graph structure already exists, can it be used directly ? does it require customization ? or is the Sparnatural SHACL spec completely decoupled from an existing knowledge graph spec ? and what if no SHACL spec exists at all ?</p>
<p>We faced all these different situations while deploying Sparnatural, and used various approaches to produce a satisfying end-user oriented specification. In particular, <a href="https://www.nakala.fr/">the Nakala repository</a> is one of the latest graph <a href="https://www.nakala.fr/sparnatural/">for which Sparnatural was deployed</a>. Nakala is a data repository that aims to preserve and disseminate data produced by French research projects in the Humanities and Social Sciences, in compliance with the FAIR principles. Nakala is a service offered by <a href="https://www.huma-num.fr/">Huma-Num</a>, a research infrastructure dedicated to the digital humanities. The Nakala knowledge graph contains `dcterms` metadata provided by researchers to describe the resources they upload. Additional non-dcterms metadata can also be provided. The metadata varies in quality and quantity depending on the researcher. When exposed <a href="https://www.nakala.fr/sparql">in a SPARQL endpoint</a>, resources, collections of resources and agents are described using <a href="https://pro.europeana.eu/page/edm-documentation">the Europeana Data Model (EDM)</a>.</p>
<p>As the EDM dissemination channel for Nakala was new, no SHACL specification existed for it. We could have designed one for Sparnatural from scratch, but the choice was make to generate it automatically, with no human intervention. This was for three reasons : ease of configuration, flexibility in maintenance over time, and pedagogical reason, as it was important to explain the structure of the graph to target users.</p>
<h2>Sparnatural UI</h2>
<p>Let&rsquo;s first have a look at what the Sparnatural UI looks like on an example from Nakala:</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA11.png"><img class="aligncenter size-large wp-image-1883" src="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA11-1024x365.png" alt="SHACLNAKALA1" width="650" height="232" /></a></p>
<p>Once you know that &laquo;&nbsp;ProvidedCHO&nbsp;&raquo; stands for &laquo;&nbsp;Provided Cultural Heritage Object&nbsp;&raquo;, and that &laquo;&nbsp;asWKT&nbsp;&raquo; encodes the location of a Place, you will be able to understand that the query searches for all ProvidedCHO entries gathered into a certain collection (&laquo;&nbsp;Cartes Université Bordeaux Montaigne&nbsp;&raquo; &#8211; a collection of maps), and selects their location and an optional description (and yes, the results of this query are displayed on a map, but that&rsquo;s out of scope).</p>
<h2>SHACL is derived automatically</h2>
<p>In this project we wanted the shortest path from the graph to the query UI. Hence we used <a href="https://shacl-play.sparna.fr/play/generate#documentation">a SHACL generation algorithm, available in SHACL Play</a>. By issuing SPARQL queries on an RDF graph, the algorithm determines the NodeShapes (targeting the classes used as values of `rdf:type`), and PropertyShapes (from all predicates used on instances on each class) of the model, with their node kinds, datatypes, class range, and cardinalities. It generates `sh:or` constraints when multiple datatypes or ranges are found. Note that in the case of Nakala a large variety of ranges are used, since the data comes from very open user inputs : the same `dcterms` property can be either an IRI or a Literal, with varying datatypes.</p>
<p>In addition, the algorithm computes some statistics on the dataset : the number of targets of each NodeShapes, the number of occurrences and the number of distinct values for each property shapes. The statistics are expressed using the `void` vocabulary, and `dcterms:conformsTo` is used to link void partitions to the corresponding shapes.</p>
<p><a href="https://shacl-play.sparna.fr/play/doc">The SHACL Play documentation tool</a> was then used to generate a report of the generated SHACL combined with the statistics. A few errors were spotted in the exported data, and fixed. We also saw that around 70 properties were present only a few times out of 700.000+ ProvidedCHO records. These properties were applied by probably a single or very few researchers when describing their data. It was decided to filter them out to keep the final UI simple, with an extra filtering step : based on statistics, property shapes used less than 0.1% of the number of targets of their node shapes are removed.</p>
<p>Here is a screenshot of the report : the right column shows the number of distinct values, and the column before is the number of total occurrences; we can immediately see that `dct:isReplacedBy` occurs only once, and `dct:isRequiredBy` occurs 81 times. They will be filtered out.</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA21.png"><img class="aligncenter size-large wp-image-1882" src="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA21-1024x481.png" alt="SHACLNAKALA2" width="650" height="305" /></a></p>
<h2>Sparnatural reads SHACL</h2>
<p>Sparnatural can then read <a href="https://docs.sparnatural.eu/SHACL-based-configuration.html">the SPARQL specification</a>, together with the dataset statistics. When designing a query, value selection widgets for literal properties are determined by looking at the `sh:datatype` constraint (for number, dates, boolean, or map widgets). For IRI properties, statistics are used to distinguish between list and autocomplete widgets. Predicates with less than 500 distinct values will use a dropdown list, and those with more will use an autocomplete search field. The range is determined by reading `sh:class` or `sh:node`. The label to show in dropdown lists or to search on autocomplete field is determined by looking at a `dash:propertyRole = dash:LabelRole` annotation.</p>
<p>How about labels ? Sparnatural can read them from classes and properties of the original OWL file, if provided with it. Otherwise local names of target classes or predicates are used.</p>
<h2>Other configuration techniques</h2>
<p>Other Sparnatural deployments, such as <a href="https://sparnatural.eu/demos/demo-dbpedia-en/">the DBPedia demo</a> are designed in SHACL from scratch, <a href="https://docs.sparnatural.eu/how-to-configure-shacl/How-to-configure-Sparnatural-shacl.html">using spreadsheets</a>. This requires more manual work, but has the advantage of tailoring the UI to exactly what needs to be shown, including user-oriented labels/tooltips/icons, hiding some properties, taking shortcuts or declaring inverses using property paths, etc. In the case of DBPedia, no SHACL spec exists, and deriving it automatically for the entire graph would probably not make a lot of sense, hence the necessity for a manual design.</p>
<p>For other projects we are working on a third configuration technique : a SHACL spec that describes the exact content of the graph is first built. It is used to publish the documentation of the model and to validate the data. A separate shapes file containing a Sparnatural-specific configuration layer is then added on top of it. That layer can hide shapes by applying an `sh:deactivated` annotation on them, can specify the UI widgets to use, add additional `dash:LabelRole` flags, add shortcut or inverse properties, etc.</p>
<p>The 3 configuration paths are shown in the following diagram:</p>
<p><a href="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA31.png"><img class="aligncenter size-large wp-image-1881" src="https://blog.sparna.fr/wp-content/uploads/2025/02/SHACLNAKALA31-1024x569.png" alt="SHACLNAKALA3" width="650" height="361" /></a></p>
<h2>Your query UI in minutes</h2>
<p>We combined 4 tools (all open-source) : an algorithm to generate a &laquo;&nbsp;profile&nbsp;&raquo; in SHACL of an RDF dataset, a statistical report generator, a SHACL filter based on statistics, and the Sparnatural query UI. The ability to generate the SHACL profile and review it in the report provided a way to understand the structure of the data in a matter of minutes, while hours would have been necessary with SPARQL queries, without a guarantee of completeness. The provision of the query UI was made by dropping the SHACL file and the statistics to Sparnatural, without manual intervention. This shows the pivotal role of SHACL for data quality and model-driven approaches for knowledge graphs projects.</p>
<h1>”</h1>
<p>We look forward to reading Veronika&rsquo;s book, and you ?</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2025/02/06/nakala-from-an-rdf-dataset-to-a-query-ui-in-minutes-shacl-automated-generation-and-sparnatural/">Nakala : from an RDF dataset to a query UI in minutes &#8211; SHACL automated generation and Sparnatural</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/2025/02/06/nakala-from-an-rdf-dataset-to-a-query-ui-in-minutes-shacl-automated-generation-and-sparnatural/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CORDIS : a SPARQL endpoint is born !</title>
		<link>https://blog.sparna.fr/2024/01/15/cordis-a-sparql-endpoint-is-born/</link>
		<comments>https://blog.sparna.fr/2024/01/15/cordis-a-sparql-endpoint-is-born/#comments</comments>
		<pubDate>Mon, 15 Jan 2024 08:55:41 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[SPARQL]]></category>
		<category><![CDATA[Thesaurus]]></category>
		<category><![CDATA[Triplestores]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[endpoint]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Linked Open Data]]></category>
		<category><![CDATA[ontologie]]></category>
		<category><![CDATA[ontologies]]></category>
		<category><![CDATA[thesaurus]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1615</guid>
		<description><![CDATA[<p>Another star to light on EU&#8217;s linked open data maturity flag ! 🌟 Not talking about 2024 exceptional Northern Lights to come, but this one&#8217;s also good news for science ! ➡️ Late 2023, the Publications Office of the European Union announced on social media the public release of the new CORDIS SPARQL endpoint. CORDIS, aka « the Community&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2024/01/15/cordis-a-sparql-endpoint-is-born/">CORDIS : a SPARQL endpoint is born !</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span style="font-weight: 400;">Another star to light on EU&rsquo;s linked open data maturity flag ! <img src="https://s.w.org/images/core/emoji/72x72/1f31f.png" alt="🌟" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span></p>
<p><span style="font-weight: 400;">Not talking about 2024 exceptional <a href="https://www.nationalgeographic.com/science/article/auroras-solar-maximum-2024">Northern Lights to come,</a> </span><span style="font-weight: 400;">but this one&rsquo;s also good news for science !</span></p>
<p><span style="font-weight: 400;">➡️ Late 2023, </span><span style="font-weight: 400;">the Publications Office of the European Union</span><span style="font-weight: 400;"> <a href="https://twitter.com/CORDIS_EU/status/1726865540143276079">announced on social media</a> </span><span style="font-weight: 400;">the public release of </span><strong><a href="https://cordis.europa.eu/datalab/sparql-endpoint">the new CORDIS SPARQL endpoint</a></strong><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">CORDIS, aka « </span><span style="font-weight: 400;">t</span><span style="font-weight: 400;">he Community Research and Development Information Service </span><span style="font-weight: 400;">of</span><span style="font-weight: 400;"> the European Commission</span><span style="font-weight: 400;"> », is « </span><em><a href="https://cordis.europa.eu/about"><span style="font-weight: 400;">the [&#8230;] primary source of results from the projects funded by the EU&rsquo;s framework programmes for research and innovation, from FP1 to Horizon Europe</span></a></em><span style="font-weight: 400;"> ». Described as a « <em>rich and structured public repository with all project information held by the European Commission such as project factsheets, participants, reports, deliverables and links to open-access publications</em> », the CORDIS catalog has also been made available in 6 European languages by Publications Office&rsquo;s editorial team.</span></p>
<p><span style="font-weight: 400;">Cherry on top <img src="https://s.w.org/images/core/emoji/72x72/1f352.png" alt="🍒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> of a whole process, the CORDIS SPARQL endpoint release comes to crown a long-term linked open data project. The aim identifying, acquiring, preserving and providing access to knowledge in a common will to share with the widest public possible a trust-worthy, qualified and structured information (see </span><a href="https://op.europa.eu/webpub/op/annual-management-report-2021/en/"><span style="font-weight: 400;">Publications Office 2021 Annual Management Report</span></a><span style="font-weight: 400;">).</span></p>
<p><span style="font-weight: 400;">In the context of the pandemic (and recent opening of <a href="https://data.europa.eu/en">data.europa.eu</a>, the official portal for European data, as defined in 2017–2025 European Open Data Space strategy), </span><a href="https://data.europa.eu/data/datasets/euroscivoc-the-european-science-vocabulary?locale=en"><span style="font-weight: 400;">the EuroSciVoc taxonomy of fields of science</span></a><span style="font-weight: 400;"> was released April 2020, followed December 2021 by the publishing of </span><a href="https://data.europa.eu/data/datasets/european-research-information-ontology?locale=en"><span style="font-weight: 400;">European research information ontology (EURIO)</span></a><span style="font-weight: 400;"> on the EU Vocabularies website <img src="https://s.w.org/images/core/emoji/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</span></p>
<p><span style="font-weight: 400;">As presented at </span><a href="https://op.europa.eu/en/web/endorse-2021/conference"><span style="font-weight: 400;">ENDORSE conference March 2021</span></a><span style="font-weight: 400;">, the redesign of CORDIS data-model in accordance with Semantic Web standards contributed to bring the platform « <strong><em>from acting as a data repository to finally playing an active role as data provider</em></strong> », where EuroSciVoc taxonomy &amp; EURIO ontology both played key roles in the creation of future CORDIS knowledge graph and SPARQL endpoint :</span></p>
<p><span style="font-weight: 400;"><img src="https://s.w.org/images/core/emoji/72x72/1f538.png" alt="🔸" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span><em><span style="font-weight: 400;"> <a href="https://data.europa.eu/data/datasets/euroscivoc-the-european-science-vocabulary?locale=en">EuroSciVoc</a> [&#8230;] is a multilingual, SKOS-XL based taxonomy that represents all the main fields of science that were discovered from the CORDIS content, e.g., project abstracts. It was built starting from the hierarchy of the OECD&rsquo;s Fields of R&amp;D classification (FoRD) as root and extended through a semi-automatic process based on NLP techniques. It contains almost 1 000 categories in 6 languages (English, French, German, Italian, Polish and Spanish) and each category is enriched with relevant keywords extracted from the textual description of CORDIS projects. It is constantly evolving and is available on EU Vocabularies website [&#8230;].</span></em></p>
<p><span style="font-weight: 400;"><img src="https://s.w.org/images/core/emoji/72x72/1f538.png" alt="🔸" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span><em><span style="font-weight: 400;"> In order to transform CORDIS data into Linked Open Data, thus aligning with Semantic Web standards, best practices and tools in industry and public organizations, the need for an ontology emerged. CORDIS created the <a href="https://data.europa.eu/data/datasets/european-research-information-ontology?locale=en">EURIO</a> (European Research Information Ontology) based on data about research projects funded by the EU&rsquo;s framework programmes for research and innovation. EURIO is aligned with EU ontologies such as <a href="https://dcodings.github.io/DINGO/">DINGO</a> and <a href="https://github.com/SPAROntologies/frapo">FRAPO</a> and de facto standard ontologies such as schema.org and the Organization Ontology from W3C. It models projects, their results and actors such as people and organizations, and includes administrative information like funding schemes and grants.</span></em></p>
<p><span style="font-weight: 400;"><img src="https://s.w.org/images/core/emoji/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span><em> EURIO, which is available on EU Vocabularies website, was <strong>the starting point to develop a Knowledge Graph of CORDIS data that will be publicly available via a dedicated SPARQL endpoint</strong>.</em> <em>»</em></p>
<p>(Enrico Bignotti &amp; Baya Remaoun, &laquo;&nbsp;<a href="https://op.europa.eu/en/web/endorse-2021/programme">EuroSciVoc taxonomy and EURIO ontology: CORDIS as (semantic) data provider</a> &nbsp;&raquo; , ENDORSE March 16, 2021. <a href="https://op.europa.eu/documents/10120270/10133951/BIGNOTTI_REMAOUN_presentation_EuroSciVoc+taxonomy+and+EURIO+ontology+CORDIS+as+%28semantic%29+data+provider.pdf/3303e7b9-967d-65f2-23a3-96b3e2bd2856?t=1616568751644"><span style="font-weight: 400;">PDF</span></a><span style="font-weight: 400;"> </span><a href="https://www.youtube.com/watch?v=vIBC_PO5aoM&amp;t=3689s"><span style="font-weight: 400;">VIDEO</span></a>)</p>
<p><span style="font-weight: 400;">&#8230; A Knowledge graph <a href="https://upcommons.upc.edu/bitstream/handle/2117/378291/2022-ISWC.pdf?sequence=1&amp;isAllowed=y">that was soon released in 2022-2023</a></span><span style="font-weight: 400;"> (see INDUSTRY TRACK 1 on Tuesday, 25 October of <a href="http://iswc2022.semanticweb.org/index.php/conference/">ISWC 2022 Conference</a> for more detail), until final opening of a </span><a href="https://cordis.europa.eu/datalab"><span style="font-weight: 400;">CORDIS SPARQL endpoint</span></a><span style="font-weight: 400;"> late november 2023.</span></p>
<p><span style="font-weight: 400;">Now fancy a few SPARQL queries in there ?</span></p>
<p><strong>Follow the SPARQL <img src="https://s.w.org/images/core/emoji/72x72/1f4ab.png" alt="💫" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong></p>
<p><span style="font-weight: 400;">CORDIS SPARQL endpoint is </span><a href="https://cordis.europa.eu/datalab"><span style="font-weight: 400;">actually made available on CORDIS Datalab</span></a><span style="font-weight: 400;"> (and already referenced in <a href="https://linkedopendata.eu/wiki/The_EU_Knowledge_Graph">EU Knowledge Graph</a> among other European SPARQL endpoints ! <a href="http://tinyurl.com/yn5fsylk">see the query</a> / <a href="http://tinyurl.com/2e8z6y5e">see the results</a>)</span></p>
<p><span style="font-weight: 400;">Here you can access a quick documentation guide to CORDIS Linked Open Data : </span><a href="https://cordis.europa.eu/about/sparql"><span style="font-weight: 400;">https://cordis.europa.eu/about/sparql</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">Let’s have a look at EURIO ontology first : we need to understand it to query CORDIS knowledge graph.</span></p>
<p><span style="font-weight: 400;">As we are told in the guide, the latest version can be downloaded </span><a href="https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/eurio"><span style="font-weight: 400;">on EU Vocabularies website</span></a><span style="font-weight: 400;">. When we unzip</span><span style="font-weight: 400;"> the archive we access the whole documentation about EURIO Classes &amp; properties that we need to write our SPARQL queries – and a diagram of </span><span style="font-weight: 400;">main classes and properties</span><span style="font-weight: 400;"> of CORDIS data model : </span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2024/01/EURIO_v2.4.png"><img class="aligncenter size-large wp-image-1669" src="http://blog.sparna.fr/wp-content/uploads/2024/01/EURIO_v2.4-1024x812.png" alt="EURIO_v2.4" width="650" height="515" /></a></p>
<p><span style="font-weight: 400;">At first sight we can observe on the schema 3 main groups of entities :</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">On the top right, the projects &amp; publications associated, key ressources of CORDIS ;</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">On the top left, the fundings &amp; grants materials, on « monetary » side of the project ;</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">On the bottom, the organisations &amp; persons implied, with references &amp; coordinates.</span></li>
</ul>
<p><span style="font-weight: 400;">Let’s open </span><a href="https://cordis.europa.eu/datalab/sparql-endpoint"><span style="font-weight: 400;">CORDIS SPARQL endpoint</span></a><span style="font-weight: 400;"> – some easy queries can be run to begin exploring CORDIS knowledge graph.</span></p>
<p><span style="font-weight: 400;">Nb : the data on SPARQL endpoint is a snapshot, but freshest dumps can be found </span><a href="https://data.europa.eu/data/datasets/named-graphs-from-eurio-knowledge-graph?locale=en"><span style="font-weight: 400;">on European data portal</span></a><span style="font-weight: 400;"> !</span></p>
<p><span style="font-weight: 400;">Here a simple one to </span><b>find a list of FundingSchemes with their titles and IDs corresponding to « Horizon 2020 » programme</b><span style="font-weight: 400;"> :</span></p>
<table>
<tbody>
<tr>
<td><strong>FundingSchemes with their titles and IDs corresponding to « Horizon 2020 » programme</strong></p>
<p>PREFIX xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
SELECT ?fs ?title ?id<br />
WHERE {<br />
# select all funding schemes …<br />
?fs a eurio:FundingScheme.<br />
# … with their title …<br />
?fs eurio:title ?title.<br />
# … and identifier …<br />
?fs eurio:identifier ?id.<br />
# where the identifier contains the regular expression “H2020”<br />
FILTER (REGEX (?id, &lsquo;H2020&prime;))<br />
} LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20FundingSchemes%20with%20their%20titles%20and%20IDs%20corresponding%20to%20%C2%AB%20Horizon%202020%20%C2%BB%20programme%0A%0APREFIX%20xsd%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%20%3Ffs%20%3Ftitle%20%3Fid%0AWHERE%20%7B%0A%23%20select%20all%20funding%20schemes%20%E2%80%A6%0A%3Ffs%20a%20eurio%3AFundingScheme.%0A%23%20%E2%80%A6%20with%20their%20title%20%E2%80%A6%0A%3Ffs%20eurio%3Atitle%20%3Ftitle.%0A%23%20%E2%80%A6%20and%20identifier%20%E2%80%A6%0A%3Ffs%20eurio%3Aidentifier%20%3Fid.%0A%23%20where%20the%20identifier%20contains%20the%20regular%20expression%20%E2%80%9CH2020%E2%80%9D%0AFILTER%20(REGEX%20(%3Fid%2C%20'H2020'))%0A%7D%20LIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p><span style="font-weight: 400;">The FILTER REGEX enables us to display the IDs corresponding to H2020 Funding Schemes.</span></p>
<p><span style="font-weight: 400;">We can make another query to get the projects with the Funding Scheme Programme they are related to (note that, in EURIO a eurio:</span><span style="font-weight: 400;">hasFundingSchemeProgramme</span><span style="font-weight: 400;"> is a sub-property of eurio:fundingScheme) :</span></p>
<table>
<tbody>
<tr>
<td><strong>Projects with the Funding Scheme Programme they are related to</strong></p>
<p><span style="font-weight: 400;">PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span><br />
<span style="font-weight: 400;">SELECT ?project ?acronym ?fundingscheme</span><br />
<span style="font-weight: 400;">WHERE {</span><br />
# select the projects &#8230;<br />
<span style="font-weight: 400;">?project a eurio:Project.</span><br />
# … with acronyms &#8230;<br />
<span style="font-weight: 400;">?project eurio:hasAcronym/eurio:shortForm ?acronym.</span><br />
# … and corresponding funding scheme programmes<br />
<span style="font-weight: 400;">?project eurio:isFundedBy/eurio:hasFundingSchemeProgramme/eurio:code ?fundingscheme.</span><br />
<span style="font-weight: 400;">} LIMIT 100</span></td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Projects%20with%20the%20Funding%20Scheme%20Programme%20they%20are%20related%20to%0A%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%20%3Fproject%20%3Facronym%20%3Ffundingscheme%0AWHERE%20%7B%0A%23%20select%20the%20projects%20...%0A%3Fproject%20a%20eurio%3AProject.%0A%23%20%E2%80%A6%20with%20acronyms%20...%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%23%20%E2%80%A6%20and%20corresponding%20funding%20scheme%20programmes%0A%3Fproject%20eurio%3AisFundedBy%2Feurio%3AhasFundingSchemeProgramme%2Feurio%3Acode%20%3Ffundingscheme.%0A%7D%20LIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%201&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p><span style="font-weight: 400;">(Here we used a property path with a « / » to shorten the query to get the acronyms of projects &amp; Funding Scheme Programmes codes).</span></p>
<p><span style="font-weight: 400;">&#8230; and combining with the first query we can find the projects depending on H2020 Funding Scheme Programme in particular :</span></p>
<table>
<tbody>
<tr>
<td><strong>Projects depending on H2020 Funding Scheme Programme in particular</strong></p>
<p><span style="font-weight: 400;">PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span><br />
<span style="font-weight: 400;">SELECT ?project ?acronym ?fundingscheme</span><br />
<span style="font-weight: 400;">WHERE {</span><br />
# select the projects &#8230;<br />
<span style="font-weight: 400;">?project a eurio:Project.</span><br />
# … with acronyms &#8230;<br />
<span style="font-weight: 400;">?project eurio:hasAcronym/eurio:shortForm ?acronym.</span><br />
# … and corresponding funding scheme programmes codes &#8230;<br />
<span style="font-weight: 400;">?project eurio:isFundedBy/eurio:hasFundingSchemeProgramme/eurio:code ?fundingscheme.</span><br />
# … with a filter on funding scheme codes &lsquo;H2020&prime;<br />
<span style="font-weight: 400;">FILTER REGEX (?fundingscheme, &lsquo;H2020&prime;)</span><br />
<span style="font-weight: 400;">} LIMIT 100</span></td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Projects%20depending%20on%20H2020%20Funding%20Scheme%20Programme%20in%20particular%0A%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%20%3Fproject%20%3Facronym%20%3Ffundingscheme%0AWHERE%20%7B%0A%23%20select%20the%20projects%20...%0A%3Fproject%20a%20eurio%3AProject.%0A%23%20%E2%80%A6%20with%20acronyms%20...%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%23%20%E2%80%A6%20and%20corresponding%20funding%20scheme%20programmes%20codes%20...%0A%3Fproject%20eurio%3AisFundedBy%2Feurio%3AhasFundingSchemeProgramme%2Feurio%3Acode%20%3Ffundingscheme.%0A%23%20%E2%80%A6%20with%20a%20filter%20on%20funding%20scheme%20codes%20'H2020'%0AFILTER%20REGEX%20(%3Ffundingscheme%2C%20'H2020')%0A%7D%20LIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p><span style="font-weight: 400;">It is also possible to get the list of all existing Funding Scheme Programmes CORDIS projects have been funded by – we observe 27 of them here (from the SPARQL endpoint) – while adding a count function to know how many projects per FundingSchemeProgramme :</span></p>
<table>
<tbody>
<tr>
<td><strong>All existing Funding Scheme Programmes CORDIS projects have been funded by</strong></p>
<p><span style="font-weight: 400;">PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span><br />
<span style="font-weight: 400;">PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span><br />
# count the number of projects by funding scheme programme &#8230;<br />
<span style="font-weight: 400;">SELECT (COUNT (?project) as ?count) ?fundingscheme</span><br />
<span style="font-weight: 400;">WHERE {</span><br />
# select the projects with corresponding funding scheme programmes codes &#8230;<br />
<span style="font-weight: 400;">?project eurio:isFundedBy/eurio:hasFundingSchemeProgramme/eurio:code ?fundingscheme.</span><br />
# &#8230; counting projects per funding scheme programme<br />
<span style="font-weight: 400;">} GROUP BY ?fundingscheme</span><br />
<span style="font-weight: 400;">LIMIT 100</span></td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20All%20existing%20Funding%20Scheme%20Programmes%20CORDIS%20projects%20have%20been%20funded%20by%0A%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%23%20count%20the%20number%20of%20projects%20by%20funding%20scheme%20programme%20...%0ASELECT%20(COUNT%20(%3Fproject)%20as%20%3Fcount)%20%3Ffundingscheme%0AWHERE%20%7B%0A%23%20select%20the%20projects%20with%20corresponding%20funding%20scheme%20programmes%20codes%20...%0A%3Fproject%20eurio%3AisFundedBy%2Feurio%3AhasFundingSchemeProgramme%2Feurio%3Acode%20%3Ffundingscheme.%0A%23%20...%20counting%20projects%20per%20funding%20scheme%20programme%0A%7D%20GROUP%20BY%20%3Ffundingscheme%0ALIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%201&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p>Querying the organisations properties will return other kind of useful informations about geographical location of the projects stakeholders. Let’s figure out we want to find the projects whose coordinating organisations have sites located in France :</p>
<table>
<tbody>
<tr>
<td><strong>Projects whose coordinating organisations have sites located in France <img src="https://s.w.org/images/core/emoji/72x72/1f413.png" alt="🐓" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong></p>
<p>PREFIX skos: &lt;http://www.w3.org/2004/02/skos/core#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
SELECT ?project ?acronym ?role ?organisation ?country<br />
WHERE {<br />
# select the projects with their acronyms &#8230;<br />
?project a eurio:Project.<br />
?project eurio:hasAcronym/eurio:shortForm ?acronym.<br />
# &#8230; and organisations with &lsquo;coordinator&rsquo; role and name &#8230;<br />
?project eurio:hasInvolvedParty ?organisationrole.<br />
?organisationrole eurio:roleLabel ?role.<br />
?organisationrole eurio:roleLabel &laquo;&nbsp;coordinator&nbsp;&raquo;.<br />
?organisationrole eurio:isRoleOf/eurio:legalName ?organisation.<br />
# &#8230; with address country for the sites defined at &lsquo;FR&rsquo;<br />
?organisationrole eurio:isRoleOf/eurio:hasSite/eurio:hasAddress/eurio:addressCountry ?country.<br />
VALUES ?country { &lsquo;FR&rsquo; }<br />
} LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Projects%20whose%20coordinating%20organisations%20have%20sites%20located%20in%20France%20%F0%9F%90%93%0A%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%20%3Fproject%20%3Facronym%20%3Frole%20%3Forganisation%20%3Fcountry%0AWHERE%20%7B%0A%23%20select%20the%20projects%20with%20their%20acronyms%20...%0A%3Fproject%20a%20eurio%3AProject.%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%23%20...%20and%20organisations%20with%20'coordinator'%20role%20and%20name%20...%0A%3Fproject%20eurio%3AhasInvolvedParty%20%3Forganisationrole.%0A%3Forganisationrole%20eurio%3AroleLabel%20%3Frole.%0A%3Forganisationrole%20eurio%3AroleLabel%20%22coordinator%22.%0A%3Forganisationrole%20eurio%3AisRoleOf%2Feurio%3AlegalName%20%3Forganisation.%0A%23%20...%20with%20address%20country%20for%20the%20sites%20defined%20at%20'FR'%0A%3Forganisationrole%20eurio%3AisRoleOf%2Feurio%3AhasSite%2Feurio%3AhasAddress%2Feurio%3AaddressCountry%20%3Fcountry.%0AVALUES%20%3Fcountry%20%7B%20'FR'%20%7D%0A%7D%20LIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p>Depending on available data, you can either query via PostalAddress info (eurio:addressCountry &lsquo;FR&rsquo;) or AdministrativeArea (eurio:hasGeographicalLocation) &#8230; Here we&rsquo;re lucky as both fields are mandatory ones.</p>
<p>Last but not least, we can also play with CORDIS vocabularies : here you&rsquo;ll have the choice to investigate via plain keywords of Projects or Publications items, querying titles, abstracts or other types of literals&#8230;</p>
<p>An example of projects with abstracts containing string ❄ &lsquo;winter&rsquo; ❄ &#8211; the URL giving the exact link to the project online :</p>
<table>
<tbody>
<tr>
<td><strong>Looking for ❄ &lsquo;winter&rsquo; ❄ in CORDIS projects abstracts (with nice URL to go)</strong></p>
<p>PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
SELECT?project ?acronym ?abstract ?url<br />
WHERE {<br />
# select the projects with their acronyms and abstracts &#8230;<br />
?project rdf:type eurio:Project.<br />
?project eurio:hasAcronym/eurio:shortForm ?acronym.<br />
?project eurio:abstract ?abstract.<br />
# &#8230; with a filter on abstracts containing string &lsquo;winter&rsquo; case insensitive &#8230;<br />
FILTER (regex(str(?abstract), &lsquo;winter&rsquo;, &lsquo;i&rsquo;))<br />
# &#8230; generating proper CORDIS website URLs based on RCN project code<br />
?project eurio:rcn ?rcn.<br />
BIND(IRI(CONCAT(&lsquo;https://cordis.europa.eu/project/rcn/&rsquo;, ?rcn)) AS ?url)<br />
} LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Looking%20for%20%E2%9D%84%20'winter'%20%E2%9D%84%20in%20CORDIS%20projects%20abstracts%20(with%20nice%20URL%20to%20go)%0A%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%3Fproject%20%3Facronym%20%3Fabstract%20%3Furl%0AWHERE%20%7B%0A%23%20select%20the%20projects%20with%20their%20acronyms%20and%20abstracts%20...%0A%3Fproject%20rdf%3Atype%20eurio%3AProject.%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%3Fproject%20eurio%3Aabstract%20%3Fabstract.%0A%23%20...%20with%20a%20filter%20on%20abstracts%20containing%20string%20'winter'%20case%20insensitive%20...%0AFILTER%20(regex(str(%3Fabstract)%2C%20'winter'%2C%20'i'))%0A%23%20...%20generating%20proper%20CORDIS%20website%20URLs%20based%20on%20RCN%20project%20code%0A%3Fproject%20eurio%3Arcn%20%3Frcn.%0ABIND(IRI(CONCAT('https%3A%2F%2Fcordis.europa.eu%2Fproject%2Frcn%2F'%2C%20%3Frcn))%20AS%20%3Furl)%0A%7D%20LIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%201&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p>But funniest way will be using EuroSciVoc taxonomy (and navigating through thesaurus hierarchy) : to do so we need to navigate through property &laquo;&nbsp;eurio:hasEuroSciVocClassification&nbsp;&raquo; to get the Concepts skosxl:prefLabel property &#8230; to finally obtain the thesaurus labels (don&rsquo;t forget to choose a prefered language with a FILTER (lang parameter) :</p>
<table>
<tbody>
<tr>
<td><strong>Projects with their associated EuroSciVoc keywords (English prefLabels <img src="https://s.w.org/images/core/emoji/72x72/1f482.png" alt="💂" class="wp-smiley" style="height: 1em; max-height: 1em;" />)</strong></p>
<p>PREFIX skosxl: &lt;http://www.w3.org/2008/05/skos-xl#&gt;<br />
PREFIX skos: &lt;http://www.w3.org/2004/02/skos/core#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
SELECT ?project ?acronym ?ESV<br />
WHERE {<br />
# select the projects with their acronyms &#8230;<br />
?project eurio:hasAcronym/eurio:shortForm ?acronym.<br />
# &#8230; with EuroSciVoc Classification prefLabels &#8230;<br />
?project eurio:hasEuroSciVocClassification/skosxl:prefLabel/skosxl:literalForm ?ESV.<br />
# &#8230; only returning &lsquo;English&rsquo; prefLabels<br />
FILTER (lang(?ESV) = &lsquo;en&rsquo;)<br />
} LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Projects%20with%20their%20associated%20EuroSciVoc%20keywords%20(English%20prefLabels%20%F0%9F%92%82)%0A%0APREFIX%20skosxl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fskos-xl%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0ASELECT%20%3Fproject%20%3Facronym%20%3FESV%0AWHERE%20%7B%0A%23%20select%20the%20projects%20with%20their%20acronyms%20...%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%23%20...%20with%20EuroSciVoc%20Classification%20prefLabels%20...%0A%3Fproject%20eurio%3AhasEuroSciVocClassification%2Fskosxl%3AprefLabel%2Fskosxl%3AliteralForm%20%3FESV.%0A%23%20...%20only%20returning%20'English'%20prefLabels%0AFILTER%20(lang(%3FESV)%20%3D%20'en')%0A%7D%20LIMIT%20100%0A&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%203&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p><span style="font-weight: 400;">A bit more complex one using first level of hierarchy of the taxonomy : here we are searching for all skos:broader concepts &laquo;&nbsp;with no other broader concept&nbsp;&raquo; (the FILTER NOT EXISTS formula), aka the top concepts or root concepts of the vocabulary used to describe the projects. Then counting the projects by each category :</span></p>
<table>
<tbody>
<tr>
<td><strong>All root categories of EuroSciVoc used to describe the projects</strong></p>
<p>PREFIX skosxl: &lt;http://www.w3.org/2008/05/skos-xl#&gt;<br />
PREFIX skos: &lt;http://www.w3.org/2004/02/skos/core#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
# count the number of projects by EuroSciVoc top categories &#8230;<br />
SELECT (COUNT(?project) AS ?nbProject) ?ESV_root_label<br />
WHERE {<br />
# &#8230; the top categories are Concepts &#8230;<br />
?ESV_root a skos:Concept .<br />
# &#8230; with no broader Concept &#8230;<br />
FILTER NOT EXISTS { ?ESV_root skos:broader ?anything }<br />
# &#8230; list with corresponding projects &#8230;<br />
?ESV_root ^skos:broader*/^eurio:hasEuroSciVocClassification ?project .<br />
# &#8230; and EuroSciVoc corresponding skos-xl prefLabels &#8230;<br />
?ESV_root skosxl:prefLabel/skosxl:literalForm ?ESV_root_label.<br />
# &#8230; sorting by EuroSciVoc category, with English prefLabels<br />
FILTER (lang(?ESV_root_label) = &lsquo;en&rsquo;)<br />
} GROUP BY ?ESV_root_label<br />
LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20All%20root%20categories%20of%20EuroSciVoc%20used%20to%20describe%20the%20projects%0A%0APREFIX%20skosxl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fskos-xl%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%23%20count%20the%20number%20of%20projects%20by%20EuroSciVoc%20top%20categories%20...%0ASELECT%20(COUNT(%3Fproject)%20AS%20%3FnbProject)%20%3FESV_root_label%0AWHERE%20%7B%0A%23%20...%20the%20top%20categories%20are%20Concepts%20...%0A%3FESV_root%20a%20skos%3AConcept%20.%0A%23%20...%20with%20no%20broader%20Concept%20...%0AFILTER%20NOT%20EXISTS%20%7B%20%3FESV_root%20skos%3Abroader%20%3Fanything%20%7D%0A%23%20...%20list%20with%20corresponding%20projects%20...%0A%3FESV_root%20%5Eskos%3Abroader*%2F%5Eeurio%3AhasEuroSciVocClassification%20%3Fproject%20.%0A%23%20...%20and%20EuroSciVoc%20corresponding%20skos-xl%20prefLabels%20...%0A%3FESV_root%20skosxl%3AprefLabel%2Fskosxl%3AliteralForm%20%3FESV_root_label.%0A%23%20...%20sorting%20by%20EuroSciVoc%20category%2C%20with%20English%20prefLabels%0AFILTER%20(lang(%3FESV_root_label)%20%3D%20'en')%0A%7D%20GROUP%20BY%20%3FESV_root_label%0ALIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%201&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p>&#8230; and maybe again more explicit results if refined to level 2 of hierarchy <img src="https://s.w.org/images/core/emoji/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> :</p>
<table>
<tbody>
<tr>
<td><strong>All &lsquo;level 2&prime; root categories of EuroSciVoc used to describe the projects</strong></p>
<p>PREFIX skosxl: &lt;http://www.w3.org/2008/05/skos-xl#&gt;<br />
PREFIX skos: &lt;http://www.w3.org/2004/02/skos/core#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
# count the number of projects by EuroSciVoc level 2 top categories &#8230;<br />
SELECT (COUNT(?project) AS ?nbProject) ?ESV_root_label ?ESV_level2_label<br />
WHERE {<br />
# &#8230; the top categories are Concepts &#8230;<br />
?ESV_root a skos:Concept .<br />
# &#8230; with no broader Concept &#8230;<br />
FILTER NOT EXISTS { ?ESV_root skos:broader ?anything }<br />
# &#8230; list level 2 category below level 1 with corresponding projects &#8230;<br />
?ESV_root ^skos:broader ?ESV_level2 .<br />
?ESV_level2 ^skos:broader*/^eurio:hasEuroSciVocClassification ?project .<br />
# &#8230; and EuroSciVoc corresponding skos-xl prefLabels &#8230;<br />
?ESV_root skosxl:prefLabel/skosxl:literalForm ?ESV_root_label.<br />
?ESV_level2 skosxl:prefLabel/skosxl:literalForm ?ESV_level2_label.<br />
# &#8230; sorting by EuroSciVoc category, with English prefLabels<br />
FILTER (lang(?ESV_root_label) = &lsquo;en&rsquo;)<br />
FILTER (lang(?ESV_level2_label) = &lsquo;en&rsquo;)<br />
} GROUP BY ?ESV_root_label ?ESV_level2_label<br />
ORDER BY ?ESV_root_label<br />
LIMIT 100</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20All%20'level%202'%20root%20categories%20of%20EuroSciVoc%20used%20to%20describe%20the%20projects%0A%0APREFIX%20skosxl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fskos-xl%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%23%20count%20the%20number%20of%20projects%20by%20EuroSciVoc%20level%202%20top%20categories%20...%0ASELECT%20(COUNT(%3Fproject)%20AS%20%3FnbProject)%20%3FESV_root_label%20%3FESV_level2_label%0AWHERE%20%7B%0A%23%20...%20the%20top%20categories%20are%20Concepts%20...%0A%3FESV_root%20a%20skos%3AConcept%20.%0A%23%20...%20with%20no%20broader%20Concept%20...%0AFILTER%20NOT%20EXISTS%20%7B%20%3FESV_root%20skos%3Abroader%20%3Fanything%20%7D%0A%23%20...%20list%20level%202%20category%20below%20level%201%20with%20corresponding%20projects%20...%0A%3FESV_root%20%5Eskos%3Abroader%20%3FESV_level2%20.%0A%3FESV_level2%20%5Eskos%3Abroader*%2F%5Eeurio%3AhasEuroSciVocClassification%20%3Fproject%20.%0A%23%20...%20and%20EuroSciVoc%20corresponding%20skos-xl%20prefLabels%20...%0A%3FESV_root%20skosxl%3AprefLabel%2Fskosxl%3AliteralForm%20%3FESV_root_label.%0A%3FESV_level2%20skosxl%3AprefLabel%2Fskosxl%3AliteralForm%20%3FESV_level2_label.%0A%23%20...%20sorting%20by%20EuroSciVoc%20category%2C%20with%20English%20prefLabels%0AFILTER%20(lang(%3FESV_root_label)%20%3D%20'en')%0AFILTER%20(lang(%3FESV_level2_label)%20%3D%20'en')%0A%7D%20GROUP%20BY%20%3FESV_root_label%20%3FESV_level2_label%0AORDER%20BY%20%3FESV_root_label%0ALIMIT%20100&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p>And a little last one with a count, to enumerate most used EuroSciVoc Concepts for indexing projects :</p>
<table>
<tbody>
<tr>
<td><strong>Most used EuroSciVoc Concepts for indexing projects</strong></p>
<p>PREFIX skosxl: &lt;http://www.w3.org/2008/05/skos-xl#&gt;<br />
PREFIX skos: &lt;http://www.w3.org/2004/02/skos/core#&gt;<br />
PREFIX eurio: &lt;http://data.europa.eu/s66#&gt;<br />
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;<br />
# count the number of projects by EuroSciVoc Concept &#8230;<br />
SELECT (COUNT (?project) as ?count) ?ESV<br />
WHERE {<br />
#  &#8230; select the projects with their acronyms &#8230;<br />
?project eurio:hasAcronym/eurio:shortForm ?acronym.<br />
# &#8230; with EuroSciVoc Classification prefLabels &#8230;<br />
?project eurio:hasEuroSciVocClassification/skosxl:prefLabel/skosxl:literalForm ?ESV.<br />
# &#8230; sorting by EuroSciVoc Concept, with English prefLabels<br />
FILTER (lang(?ESV) = &lsquo;en&rsquo;)<br />
} GROUP BY ?ESV<br />
ORDER BY DESC(?count)<br />
LIMIT 3000</td>
</tr>
</tbody>
</table>
<p>▶️ <a href="https://cordis.europa.eu/datalab/sparql-endpoint#query=%23%20Most%20used%20EuroSciVoc%20Concepts%20for%20indexing%20projects%0A%0APREFIX%20skosxl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fskos-xl%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0APREFIX%20eurio%3A%20%3Chttp%3A%2F%2Fdata.europa.eu%2Fs66%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%23%20count%20the%20number%20of%20projects%20by%20EuroSciVoc%20Concept%20...%0ASELECT%20(COUNT%20(%3Fproject)%20as%20%3Fcount)%20%3FESV%0AWHERE%20%7B%0A%23%20%20...%20select%20the%20projects%20with%20their%20acronyms%20...%0A%3Fproject%20eurio%3AhasAcronym%2Feurio%3AshortForm%20%3Facronym.%0A%23%20...%20with%20EuroSciVoc%20Classification%20prefLabels%20...%0A%3Fproject%20eurio%3AhasEuroSciVocClassification%2Fskosxl%3AprefLabel%2Fskosxl%3AliteralForm%20%3FESV.%0A%23%20...%20sorting%20by%20EuroSciVoc%20Concept%2C%20with%20English%20prefLabels%0AFILTER%20(lang(%3FESV)%20%3D%20'en')%0A%7D%20GROUP%20BY%20%3FESV%0AORDER%20BY%20DESC(%3Fcount)%0ALIMIT%203000&amp;endpoint=https%3A%2F%2Fcordis.europa.eu%2Fdatalab%2Fsparql&amp;requestMethod=POST&amp;tabTitle=Query%201&amp;headers=%7B%7D&amp;contentTypeConstruct=application%2Fn-triples%2C*%2F*%3Bq&amp;contentTypeSelect=application%2Fsparql-results%2Bjson%2C*%2F*%3Bq&amp;outputFormat=table">See the results</a></p>
<p><img src="https://s.w.org/images/core/emoji/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" />This one an ideal one to generate a word cloud maybe ?</p>
<p>What if we send the CSV data to <a href="https://wordart.com/create">some nice online word cloud generator</a> then ?</p>
<p><a href="https://wordart.com/r8zsokkk7ghu/untitled"><img class="aligncenter size-full wp-image-1710" src="http://blog.sparna.fr/wp-content/uploads/2024/01/Cordis-Taxo-Cloud.png" alt="Cordis Taxo Cloud" width="660" height="757" /></a></p>
<p>(OMG <a href="https://wordart.com/create">they also have a shooting star shape</a> <img src="https://s.w.org/images/core/emoji/72x72/1f320.png" alt="🌠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> in there 🤩)</p>
<p><strong>As a conclusion&#8230;</strong></p>
<p><span style="font-weight: 400;">According to Science (CORDIS saying !), <a href="https://europa.eu/!vYVHXD">New Year’s resolutions appear difficult to be held</a></span><span style="font-weight: 400;">&#8230; because most of time too ambitious, restrictive or unprecisely formulated : indeed, « </span><span style="font-weight: 400;">the </span><a href="https://cordis.europa.eu/article/id/428767-trending-science-do-this-one-thing-to-keep-your-new-year-s-resolutions-research-says"><span style="font-weight: 400;">effectiveness of resolutions depends on how they are </span><b>framed</b></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"> »</span></p>
<p><span style="font-weight: 400;">Horizon 2024, let’s suggest a(n RDF ?) well-framed one : may CORDIS SPARQL endpoint initiative be an example for other structures who want to share Linked Open Data !</span></p>
<p><span style="font-weight: 400;"><strong>Wishing you Best Interoperability and a Very Merry ✨ Sparqling New Year !</strong> ✨</span></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2024/01/15/cordis-a-sparql-endpoint-is-born/">CORDIS : a SPARQL endpoint is born !</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/2024/01/15/cordis-a-sparql-endpoint-is-born/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2013-2023 : ‘Tis SKOSPlay!’s Birthday !</title>
		<link>https://blog.sparna.fr/2023/03/13/2013-2023-tis-skosplays-birthday/</link>
		<comments>https://blog.sparna.fr/2023/03/13/2013-2023-tis-skosplays-birthday/#comments</comments>
		<pubDate>Mon, 13 Mar 2023 14:28:53 +0000</pubDate>
		<dc:creator><![CDATA[Marie Muller]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[SHACL]]></category>
		<category><![CDATA[SHACL Play]]></category>
		<category><![CDATA[SKOS]]></category>
		<category><![CDATA[SKOS Play]]></category>
		<category><![CDATA[Thesaurus]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<category><![CDATA[ontologie]]></category>
		<category><![CDATA[skos play]]></category>
		<category><![CDATA[thesaurus]]></category>
		<category><![CDATA[web sémantique]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1540</guid>
		<description><![CDATA[<p>Hi, it’s Marie (aka chutjetweet here). To be short I’m a documentalist, terminologist, old (linked &#8211; open) data maniac &#38; lil’ onto-Padawan and… just came to join Sparna’s team this early January ! To inaugurate my first article on Sparna’s blog, let’s share a little feedback of mine today about Sparna’s well-known SKOSPlay! whose 10 years’ birthday&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2023/03/13/2013-2023-tis-skosplays-birthday/">2013-2023 : ‘Tis SKOSPlay!’s Birthday !</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span style="font-weight: 400;">Hi, it’s Marie (aka chutjetweet </span><a href="https://twitter.com/chutjetweet"><span style="font-weight: 400;">here</span></a><span style="font-weight: 400;">). To be short I’m a documentalist, terminologist, old (linked &#8211; open) data maniac &amp; lil’ onto-Padawan and… just came to join Sparna’s team this early January !</span></p>
<p><span style="font-weight: 400;">To inaugurate my first article on Sparna’s blog, let’s share a little feedback of mine today about Sparna’s well-known </span><a href="https://skos-play.sparna.fr/play/"><span style="font-weight: 400;">SKOSPlay!</span></a><span style="font-weight: 400;"> whose 10 years’ birthday is to celebrate this year !</span></p>
<p><span style="font-weight: 400;">10 yo, quite a historic tool ! but more than ever actual in a context where the semantic technologies get front of the scene anew due to growing interest shown by the digital humanities movement to data interoperability projects via the standardized knowledge structuration (Wikipedia-Wikidata projects e.g., as semantic wiki devices), and also due to the last progress of artificial intelligence, now able to processing large amount of data and </span><a href="https://www.epimorphics.com/writing-ontologies-with-chatgpt/"><span style="font-weight: 400;">soon fully leveraging the potential of ontologies and knowledge graphs</span></a><span style="font-weight: 400;">.</span></p>
<table>
<tbody>
<tr>
<td><i><span style="font-weight: 400;"><a href="https://twitter.com/taxobob/status/1615594349512851456"><img class="alignnone wp-image-1561 size-full" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image5.png" alt="image5" width="878" height="321" /></a></span></i><em><span style="font-weight: 400;">From asking for a taxonomy </span><a href="https://twitter.com/mommi84/status/1631027355987656706"><span style="font-weight: 400;">to querying RDF files with an API</span></a><span style="font-weight: 400;">…</span></em></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">This said, in a more practical way, semantic web standards are not always easy to manipulate as a professional &#8211; if non-initiate to SPARQL and nor confirmed data scientist, and even when you have got to deal with a simple structured list of terms !</span></p>
<p><span style="font-weight: 400;">Either your data is already SKOS-standardized (great !), there sometimes come to have a gap between normalization step and visualization step that requires a bit more technical IT skills. Either &#8211; most of time &#8211; the common muggle-born is to start with a plain Excel spreadsheet, create a list, add some hierarchy, maybe other scope notes or definitions and&#8230; end far puzzled wondering how to </span><span style="font-weight: 400;">get </span><a href="https://www.w3.org/DesignIssues/diagrams/lod/597992118v2_350x350_Back.jpg"><span style="font-weight: 400;">a 5-star data vocabulary</span></a><span style="font-weight: 400;"> ⭐ !</span></p>
<p>&nbsp;</p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image14.gif"><img class="alignnone size-full wp-image-1577" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image14.gif" alt="image14" width="500" height="208" /></a></p>
<p>&nbsp;</p>
<p><strong>A SKOSPlay!-within-a-SKOSPlay!</strong></p>
<table>
<tbody>
<tr>
<td><a href="https://twitter.com/belett/status/1583128873877008384"><img class="alignnone wp-image-1565 size-full" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image3.png" alt="image3" width="886" height="359" /></a><em><span style="font-weight: 400;">Wink to <a href="https://twitter.com/belett">@belett</a>, anything possible now with SKOSPlay!</span></em></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Aiming at visualizing (and printing !) SKOS thesauri, taxonomies and vocabularies at the very beginning, SKOSPlay! is a full online free and open source tool leveraging semantic technologies (RDF, SPARQL, inference, Linked Data) to generate downloadable HTML or PDF documents. More and more new features have been added since then : alignments display, OWL and SKOS-XL files processing, autocomplete fields and permuted indexes generating …</span></p>
<table>
<tbody>
<tr>
<td><a href="https://twitter.com/veronikaheim/status/1612375648948846592"><img class="alignnone size-full wp-image-1566" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image7.png" alt="image7" width="884" height="237" /></a><em><span style="font-weight: 400;">Hello <a href="https://twitter.com/veronikaheim">@veronikaheim</a>, maybe SKOSPlay! could match your need ?</span></em></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">… among other nice and useful developments.</span></p>
<p><span style="font-weight: 400;">But as an Excel aficionada, the one that I prefer is </span><a href="https://skos-play.sparna.fr/play/convert?lang=en"><span style="font-weight: 400;">the Excel-to-RDF converter tool</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">One sheet. One import. One result. Easy-peasy, happy terminologist :))</span></p>
<p><span style="font-weight: 400;">(And you can even keep your custom colors templates and formats !!! </span><span style="font-weight: 400;">🦄</span><span style="font-weight: 400;"> )</span></p>
<p>&nbsp;</p>
<p><strong>Come on &amp; let’s SKOSPlay!</strong></p>
<p><span style="font-weight: 400;">Let&rsquo;s figure out you want to display or construct a small vocabulary you could quickly visualize in a standardized SKOS-structured way :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image10-2.png"><img class="alignnone size-full wp-image-1607" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image10-2.png" alt="image10-2" width="1657" height="1079" /></a></p>
<p><span style="font-weight: 400;">Now to fit in the SKOS model your data has to follow </span><a href="https://skos-play.sparna.fr/play/excel_test/excel2skos-exemple-1.xlsx"><span style="font-weight: 400;">a particular template</span></a><span style="font-weight: 400;"> you can fullfill by downloading on SKOSPlay! website.</span></p>
<p><span style="font-weight: 400;">First you have to define </span><a href="https://skos-play.sparna.fr/play/convert#excel-file-structure"><span style="font-weight: 400;">the header of the template</span></a><span style="font-weight: 400;"> : the global scheme of your vocabulary, its URI, title and description :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image12.png"><img class="alignnone size-full wp-image-1575" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image12.png" alt="image12" width="1347" height="189" /></a></p>
<p><span style="font-weight: 400;">Adding the terms of your list (with the URIs)… Here with the “@en” language indication on top of the column </span><a href="https://skos-play.sparna.fr/play/convert#languages"><span style="font-weight: 400;">as I am to create an English-French multilingual vocabulary</span></a><span style="font-weight: 400;"> :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image15.png"><img class="alignnone size-full wp-image-1578" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image15.png" alt="image15" width="1509" height="1021" /></a></p>
<p><span style="font-weight: 400;">Recreating the arborescent structure through the Excel template (don’t mind my color palette, I always like colouring my Excel sheets to better visualize the info at a glance !).</span></p>
<p><span style="font-weight: 400;">The hierarchical broader-narrower structure is to be recreated </span><a href="https://skos-play.sparna.fr/play/convert#sheet-body"><span style="font-weight: 400;">by adding a “skos:narrower” column</span></a><span style="font-weight: 400;"> (or skos:broader, as you want, with only 1 broader value per line) where you will list the different specific values front of the more generic one (separated by comas). Here I used a PREFIX too in order to shorten my http:// URIs, SKOSPlay! can process them anyway !</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image9.png"><img class="alignnone size-full wp-image-1572" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image9.png" alt="image9" width="1943" height="1431" /></a></p>
<p><span style="font-weight: 400;">Then adding a few notes and other information (multilingual values, skos:notation, any other default properties known in the converter (</span><a href="https://skos-play.sparna.fr/play/convert#prefixes"><span style="font-weight: 400;">see the documentation</span></a><span style="font-weight: 400;">) or different custom elements of yours by adding other PREFIXes :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image4.png"><img class="alignnone size-full wp-image-1569" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image4.png" alt="image4" width="1999" height="1269" /></a></p>
<p><span style="font-weight: 400;">Your Excel template is ready to go ! quite an easy configuration in my demo here, but SKOSPlay! can also deal with skos:Collections, SKOS-XL and other </span><a href="https://skos-play.sparna.fr/play/convert#advanced-features"><span style="font-weight: 400;">advanced RDF structures</span></a><span style="font-weight: 400;"> : blank nodes, RDF lists, named graphs. And now possible to generate OWL and SHACL files with the converter too !</span></p>
<p><span style="font-weight: 400;">Now it’s time to turn your (finally-not-so-dirty-<img src="https://s.w.org/images/core/emoji/72x72/1f438.png" alt="🐸" class="wp-smiley" style="height: 1em; max-height: 1em;" />) data into a SKOS-charming file. Take your favorite </span><del><span style="font-weight: 400;">magic wand</span></del><span style="font-weight: 400;"> SKOSPlay! </span><a href="https://skos-play.sparna.fr/play/convert"><span style="font-weight: 400;">Excel-to-RDF converter tool</span></a><span style="font-weight: 400;"> and load your Excel file in it (adding some optional parameters if needed).</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image8.png"><img class="alignnone size-full wp-image-1571" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image8.png" alt="image8" width="1601" height="885" /></a></p>
<p><span style="font-weight: 400;">Well done, it’s a wonderful RDF-ized vocabulary file (here in a Turtle format but you have also RDF/XML, N-Triples, N-Quads, N3 and TriG available) :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image1.png"><img class="alignnone size-full wp-image-1567" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image1.png" alt="image1" width="1617" height="1029" /></a></p>
<p>&nbsp;</p>
<p><strong>Wingardium Visualiza !</strong></p>
<p>We&rsquo;re almost done. <span style="font-weight: 400;">Go back to the website, </span><a href="https://skos-play.sparna.fr/play/upload"><span style="font-weight: 400;">tab “Play!”</span></a><span style="font-weight: 400;">, load your last RDF-serialized file and go to the next step to chose the kind of display you want to get, endly press (SKOS)Play! and … abracadataaaaaaa !</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image2.png"><img class="alignnone size-full wp-image-1568" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image2.png" alt="image2" width="1657" height="1197" /></a></p>
<p><span style="font-weight: 400;">Many different options to visualize your arborescent data. Tree, static and dynamic, but also more « professional » and printable sorts of displays like alphabetical, hierarchical or permuted views :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image6.png"><img class="alignnone size-full wp-image-1570" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image6.png" alt="image6" width="1999" height="1361" /></a></p>
<p><span style="font-weight: 400;">And KWIC (as for « </span><span style="font-weight: 400;">KeyWord In Context ») :</span></p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2023/03/image13.png"><img class="alignnone size-full wp-image-1576" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image13.png" alt="image13" width="1999" height="937" /></a></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Even possible to load an online Google spreadsheet (</span><a href="https://docs.google.com/spreadsheets/d/1MpN4tzd7S7m7Dnr7IFOz43YoWcSYqUG1/edit?usp=share_link&amp;ouid=118425122592371390359&amp;rtpof=true&amp;sd=true"><span style="font-weight: 400;">mine is shared here</span></a><span style="font-weight: 400;">), just by adapting a little its URL for the converter’s need. Interesting feature in a collaborative purpose when you are team-building a vocabulary !</span></p>
<p><span style="font-weight: 400;">The whole pack </span><a href="https://skos-play.sparna.fr/play/convert#documentation"><span style="font-weight: 400;">fully documented</span></a><span style="font-weight: 400;"> and findable on Sparna’s </span><a href="https://skos-play.sparna.fr/play/"><span style="font-weight: 400;">website</span></a><span style="font-weight: 400;"> &amp; </span><a href="https://github.com/sparna-git/skos-play"><span style="font-weight: 400;">Git</span></a><span style="font-weight: 400;">. Some recent users even produced a </span><a href="http://blog.sparna.fr/2021/06/30/fair-data-collective-is-doing-cool-things-with-skos-play-and-xls2rdf/"><span style="font-weight: 400;">short video tutorial</span></a><span style="font-weight: 400;"> to show what they managed to do with different SKOSPlay! visualization tools.</span></p>
<p><span style="font-weight: 400;">Already knew about SKOSPlay! ? go see his little brother, </span><a href="https://shacl-play.sparna.fr/play/home;jsessionid=40BBB04DA1F3DCC1EBFB084A08EE2924?lang=en"><span style="font-weight: 400;">SHACLPlay!</span></a><span style="font-weight: 400;"> and feel free to give us some feedback in the comments <img src="https://blog.sparna.fr/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span></p>
<p><span style="font-weight: 400;">Happy Birthday SKOSPlay! &amp; Long live Semantic Web !</span></p>
<p><span style="font-weight: 400;">A bit more Vouvray with your nougat de Tours ?</span></p>
<p><a href="https://www.my-loire-valley.com/2018/06/top-10-des-specialites-gourmandes-de-touraine/"><img class="alignnone size-full wp-image-1574" src="http://blog.sparna.fr/wp-content/uploads/2023/03/image11.png" alt="image11" width="1280" height="939" /></a></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2023/03/13/2013-2023-tis-skosplays-birthday/">2013-2023 : ‘Tis SKOSPlay!’s Birthday !</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/2023/03/13/2013-2023-tis-skosplays-birthday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RiC-CM, RiC-O : les Archives se dotent de leur modèle conceptuel (Records in Contexts)</title>
		<link>https://blog.sparna.fr/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/</link>
		<comments>https://blog.sparna.fr/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/#comments</comments>
		<pubDate>Mon, 20 Apr 2020 14:33:13 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Recherche d'informations]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[Records In Contexts]]></category>
		<category><![CDATA[RiC-CM]]></category>
		<category><![CDATA[RiC-O]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1274</guid>
		<description><![CDATA[<p>Records In Contexts, ou RiC pour les intimes, est disponible depuis peu en 2 variantes sur le site du Conseil International des Archives : RiC-CM, le modèle conceptuel, et RiC-O, son implémentation sous forme d&#8217;ontologie OWL (dont une bonne introduction est donnée sur la page de l&#8217;ontologie elle-même à https://www.ica.org/standards/RiC/ontology). Ce modèle conceptuel a été&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/">RiC-CM, RiC-O : les Archives se dotent de leur modèle conceptuel (Records in Contexts)</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><strong>Records In Contexts</strong>, ou RiC pour les intimes, est disponible depuis peu en 2 variantes sur le site du Conseil International des Archives : <a href="https://www.ica.org/fr/egad-ric-conceptual-model"><strong>RiC-CM</strong>, le modèle conceptuel</a>, et <a href="https://www.ica.org/fr/egad-ric-ontology"><strong>RiC-O</strong>, son implémentation sous forme d&rsquo;ontologie OWL</a> (dont une bonne introduction est donnée sur la page de l&rsquo;ontologie elle-même à <a href="https://www.ica.org/standards/RiC/ontology">https://www.ica.org/standards/RiC/ontology</a>). Ce modèle conceptuel a été élaboré au sein du groupe <a href="https://www.ica.org/fr/groupes-dexperts/groupe-d-experts-sur-la-description-archivistique-egad">EGAD</a> (Expert Group on Archival Description) du CIA, créé fin 2012. Il succède, et donc vise à unifier et à remplacer, les normes actuelles que sont l&rsquo;ISAD-G, l&rsquo;ISAAR(CPF), l&rsquo;ISDF et l&rsquo;ISDIAH. Une bonne perspective de contexte historique est donné dans le document <em>&laquo;&nbsp;<a href="https://www.ica.org/sites/default/files/EGAD_French.pdf">Toward an International Conceptual Model for Archival Description: A Preliminary Report from the International Council on Archives</a>&laquo;&nbsp;</em> publié peu après le début des travaux de l&rsquo;EGAD.</p>
<p>Les sources de l&rsquo;ontologie RiC-O sont dans Github à <a href="https://github.com/ICA-EGAD/RiC-O"><strong>https://github.com/ICA-EGAD/RiC-O</strong></a>.</p>
<h2>4 entités au coeur de RiC-CM</h2>
<p>RiC-CM défini 4 entités &laquo;&nbsp;noyaux&nbsp;&raquo; du modèle conceptuel : la <strong><a href="https://www.ica.org/standards/RiC/ontology#RecordResource">Record Resource</a></strong>, ses <strong><a href="https://www.ica.org/standards/RiC/ontology#Instantiation">Instantiations</a></strong>, des <strong><a href="https://www.ica.org/standards/RiC/ontology#Agent">Agents</a></strong> et des <strong><a href="https://www.ica.org/standards/RiC/ontology#Activity">Activités</a></strong>. La <em>RecordResource</em> est une description intellectuelle qui peut avoir plusieurs matérialités (typiquement document original vs. numérisation), ses <em>Instantiations</em>. Une &laquo;&nbsp;Record Resource&nbsp;&raquo; peut se préciser soit en <strong><a href="https://www.ica.org/standards/RiC/ontology#RecordSet">Record Set</a></strong> (ensemble de notices), en <strong><a href="https://www.ica.org/standards/RiC/ontology#Record">Record</a></strong> (notice seule) ou en <strong><a href="https://www.ica.org/standards/RiC/ontology#RecordPart">Record Part</a></strong> (partie de notice), la frontière entre ces 3 notions n&rsquo;étant pas toujours facile.</p>
<p>Sous la notion générique d&rsquo;Agent, RiC-CM déclare les 3 types d&rsquo;agents archivistiques classiques <strong>Person</strong>, <strong>Family</strong> et <strong>Corporate Body</strong>, mais introduit également comme des Agents les &laquo;&nbsp;<strong>Position</strong>s&nbsp;&raquo; (Fonctions dans un organigramme) et les &laquo;&nbsp;<strong>Mechanism</strong>s&nbsp;&raquo; (typiquement les logiciels), qui peuvent donc être utilisés dans une relation de Provenance.</p>
<p>Ces 4 entités &laquo;&nbsp;noyaux&nbsp;&raquo; sont complétées par la notion de <strong>Rule</strong> (règle, loi, normes, <em>&laquo;&nbsp;contexts that establish the conditions for the performance of the activities&nbsp;&raquo;</em>) et les entités classiques de Date et Place.</p>
<p>Le modèle conceptuel RiC-CM défini un ensemble de <strong>78 relations</strong> majoritairement entre les 4 entités noyaux du modèle, et c&rsquo;est là que la notion de Contexte<span style="text-decoration: underline;">s</span> (au pluriel) prends tout son sens :</p>
<ol>
<li>Relations <strong>Partitives tout/partie</strong> : Record <em>has consituent</em> Record Part, Event <em>has subevent</em> Event, Group <em>has subdivision</em> Group, etc&#8230;</li>
<li>Relations <strong>Séquentielles avant/après</strong> : Record <em>is original of</em> Record, Instantiation <em>has derived instantiation</em> Instantiation, Agent <em>is antecedent of</em> Agent, etc..</li>
<li>Relations de <strong>Sujet</strong> : Record Resource <em>has subject</em> Thing ou Record Resource <em>describes</em> Thing, etc.</li>
<li>Relations <strong>inter-Record Resource</strong> : Record Resource <em>has copy</em> Record Resource, Record Set <em>includes</em> Record, etc.</li>
<li>Relations <strong>de Record Resource à Instantiation</strong> : Record Resource <em>has instantiation</em> Instantiation, etc.</li>
<li>Relations de <strong>Provenance (Record Resource à Agent)</strong> : Record Resource <em>created by</em> Agent, etc.</li>
<li>Relations <strong>inter-Instantiations</strong>, typiquement Instantiation <em>has derived instantiation</em> Instantiation (cas de la copie numérique d&rsquo;un orginal), etc.</li>
<li>Relations de <strong>Management</strong> : Group or Person or Position <em>is owner of</em> Thing, Agent <em>controls</em> Agent, etc.</li>
<li>Relations <strong>inter-Agent</strong> : Person <em>is leader of</em> Group, Person <em>has child</em> Person, Person <em>occupies</em> Position, Person <em>knows</em> Person, etc.</li>
<li>Relations <strong>des Events/Activities</strong>, typiquement Activity <em>performed by</em> Agent</li>
<li>Relations <strong>des Rules</strong> : Rule <em>regulates</em> Thing, Mandate <em>authorizes</em> Agent, etc.</li>
<li>Relations de <strong>Datation</strong></li>
<li>Relations <strong>Spatiales</strong></li>
</ol>
<p>Ce diagramme (tiré de <a href="https://f.hypotheses.org/wp-content/blogs.dir/2167/files/2020/02/20200128_2_RecordsInContexts.pdf">cette présentation de RiC-CM aux Archives Nationales</a> et du <a href="https://github.com/ICA-EGAD/RiC-O/tree/master/diagrams/RiC-CM-overview">code source de RiC-O dans Github</a>) donne l&rsquo;aperçu haut-niveau de RiC-CM et des relations qui articulent les entités de haut-niveau du modèle :</p>
<div id="attachment_1286" style="width: 660px" class="wp-caption aligncenter"><a href="http://blog.sparna.fr/wp-content/uploads/2020/02/RiC-CM-02-overview-diagram.png" target="_blank"><img class="wp-image-1286 size-large" src="http://blog.sparna.fr/wp-content/uploads/2020/02/RiC-CM-02-overview-diagram-1024x774.png" alt="RiC-CM-02-overview-diagram" width="650" height="491" /></a><p class="wp-caption-text">Diagramme haut-niveau du Modèle Conceptuel Records in Contexts 0.2</p></div>
<h2>RiC dans la famille des modèles conceptuels</h2>
<p>RiC s&rsquo;inscrit dans la famille des modèles conceptuels développés depuis 3 décennies dans le domaine de l&rsquo;infodoc : <strong><a href="https://www.ifla.org/publications/functional-requirements-for-bibliographic-records">FRBR</a></strong> en 1992-1995 pour les notices bibliographiques des bibliothèques, puis le <strong><a href="http://www.cidoc-crm.org/">CIDOC-CRM</a></strong> à partir de 1996 pour la description des objets muséaux et patrimoniaux en général, puis l&rsquo;intégration de FRBR dans le CIDOC-CRM, à partir de 2003, qui donnera naissance à <strong><a href="http://www.cidoc-crm.org/frbroo/home-0">FRBRoo</a></strong> en 2008. Et plus récemment, en 2017, <a href="https://www.ifla.org/publications/node/11412"><strong>IFLA-LRM</strong></a> qui consolide les modèles de la famille FRBR.</p>
<p>On notera la temporalité longue pour l&rsquo;élaboration de ces standards internationaux : réunions internationales, disponibilité des participants, nécessaires discussions longues sur l&rsquo;identification des concepts fondamentaux du métier. On notera aussi le retard de la communauté des archives, avec le début du groupe EGAD en 2012 et la version 0.1 de RiC-CM publiée en 2016, sur cette réflexion au niveau conceptuel, par rapport aux bibliothèques et aux musées. Cela peut s&rsquo;expliquer par la présence d&rsquo;un standard technique unique et utilisé mondialement, l&rsquo;EAD, et par des moyens plus réduits dans la communauté archivistique.</p>
<p>La communauté du CIDOC-CRM <a href="http://lists.ics.forth.gr/pipermail/crm-sig/2020-January/004203.html">s&rsquo;est empressé de dénoncer la &laquo;&nbsp;secte des archivistes&nbsp;&raquo;</a> qui réinventent leur propre modèle conceptuel plutôt que de s&rsquo;appuyer sur les fondations théoriques du CIDOC-CRM. Mais cette phase de réflexion où sont réexaminés l&rsquo;existence, le périmètre, la pertinence et l&rsquo;articulation de de chaque concept métier est bien nécessaire à une communauté de pratique avant que celle-ci ne puisse proposer un éventuel accostage avec le point de vue &#8211; certes générique et théoriquement fondé, mais issu d&rsquo;une autre communauté de pratiques &#8211; du CIDOC-CRM. Le document &laquo;&nbsp;Toward an International Conceptual Model for Archival Description&#8230;&nbsp;&raquo; mentionné plus haut mentionne déjà cela :</p>
<p><em>&laquo;&nbsp;Avant de collaborer, la communauté archivistique doit développer un modèle conceptuel qui réponde d&rsquo;abord et avant tout aux principes et aux besoins des archivistes. Une fois ce modèle élaboré, la communauté sera bien placée pour se joindre aux communautés professionnelles apparentées dans une quête commune pour fournir un accès intégré à l&rsquo;expression humaine sous toutes ses formes.&nbsp;&raquo;</em></p>
<p>Quelques années de patience, donc, avant une intégration RiC-CM / CIDOC-CRM  (RiCoo ? <img src="https://blog.sparna.fr/wp-includes/images/smilies/simple-smile.png" alt=":-)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> )</p>
<h2>Ricoconverter : Un convertisseur EAD et EAC vers RiC-O, par les Archives Nationales</h2>
<p>Florence Clavaud, responsable de la mission Référentiels aux Archives Nationales, a largement développé l&rsquo;ontologie RiC-O <a href="https://www.ica.org/en/egad-steering-committee-0">au sein du groupe EGAD</a>. Sous son impulsion avait déjà été développé en 2017-2018 le <a href="http://piaaf.demo.logilab.fr/">prototype PIAFF</a> (Pilote d’interopérabilité pour les Autorités Archivistiques françaises), incluant 276 notices d&rsquo;autorités des AN, de la BNF et du SIAFF, converties dans la première version de RiC-CM et RiC-O qui datait de 2016.</p>
<p>Les Archives Nationales ont souhaité un passage à l&rsquo;échelle après le succès de PIAFF, pour la conversion de l&rsquo;intégralité des <strong>28000 instruments de recherche et 15000 notices d&rsquo;autorité</strong> des Archives Nationales, dans la version la plus récente de RiC-O. Le travail a été confié à votre serviteur. Le résultat est <a href="https://github.com/ArchivesNationalesFR/rico-converter"><strong>ricoconverter</strong></a>, un logiciel opensource, permettant de lancer simplement en ligne de commande une conversion d&rsquo;un ensemble de fichiers EAD ou EAC vers du RDF/XML structuré en RiC-O. Ricoconverter est essentiellement basé sur 2 feuilles de style XSLT qui font l&rsquo;essentiel du travail, enrobées dans un script Java. La feuille de style convertissant l&rsquo;EAC est assez générique et transposable dans d&rsquo;autres contextes probablement assez directement, la feuille de style EAD répond à l&rsquo;implémentation spécifique de l&rsquo;EAD aux AN et demandera plus d&rsquo;adaptions; mais l&rsquo;objectif de Ricoconverter est bel et bien de <strong>pouvoir être adapté et utilisé pas d&rsquo;autres services d&rsquo;archives pour produire des graphes de données RiC-O</strong>.</p>
<p>Les sources de ricoconverter sont disponibles dans Github à <a href="https://github.com/ArchivesNationalesFR/rico-converter">https://github.com/ArchivesNationalesFR/rico-converter</a>.</p>
<p>Cerise sur le gâteau, quand on a un joli graphe RiC-O, on peut avoir un joli <a href="https://github.com/sparna-git/Sparnatural/">Sparnatural</a> (voir <a href="http://blog.sparna.fr/2019/06/13/sparnatural-ecrire-des-requetes-sparql-tout-naturellement/">ce billet de blog</a>) qui permet de naviguer dans le graphe et de chercher par exemple <em>&laquo;&nbsp;toutes les archives numérisées des organisations ayant succédé à la Direction des Beaux Arts (1848-1852)</em>&nbsp;&raquo; (cliquer sur l&rsquo;image pour voir le screencast) :</p>
<h2><a href="http://blog.sparna.fr/wp-content/uploads/2020/02/Peek-18-02-2020-15-35.gif"><img class="aligncenter wp-image-1282 size-large" src="http://blog.sparna.fr/wp-content/uploads/2020/02/Peek-18-02-2020-15-35-1024x483.gif" alt="sparnatural-demo-rico" width="650" height="307" /></a>Présentations de RiC-CM et RiC-O aux Archives Nationales le 28/01/2020</h2>
<p>Pour aller plus loin on peut consulter <a href="https://labarchiv.hypotheses.org/1495">les présentations sur RiC-CM, RiC-O, ricoconverter et plus encore</a> faites lors de la journée d&rsquo;étude du 28 janvier 2020 aux Archives Nationales.</p>
<p><em>Illustration : <a href="https://gallica.bnf.fr/ark:/12148/btv1b530807279/f1.item"><span id="documentAuthorText">Institut, [salle des] archives : [photographie de presse] / [Agence Rol] Agence Rol. Agence photographique</span></a> depuis Gallica.</em></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/">RiC-CM, RiC-O : les Archives se dotent de leur modèle conceptuel (Records in Contexts)</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/2020/04/20/rico-records-in-contexts-archives-modele-conceptuel/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Le CIDOC-CRM, ne nous arrachons plus les cheveux !</title>
		<link>https://blog.sparna.fr/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/</link>
		<comments>https://blog.sparna.fr/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/#comments</comments>
		<pubDate>Tue, 26 Mar 2019 14:35:24 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[CIDOC-CRM]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1245</guid>
		<description><![CDATA[<p>C&#8217;est vrai que quand on commence à entendre parler du CIDOC-CRM, il y a de quoi se sentir &#171;&#160;Désespéré&#160;&#187; (comme le tableau de Courbet); moi aussi, il y a quelques années, si on m&#8217;avait demandé de faire quelque chose avec le CIDOC-CRM je me serais arraché les cheveux si je les avais eu encore longs.&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/">Le CIDOC-CRM, ne nous arrachons plus les cheveux !</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;">C&rsquo;est vrai que quand on commence à entendre parler du <a href="http://www.cidoc-crm.org/" target="_blank">CIDOC-CRM</a>, il y a de quoi se sentir <em>&laquo;&nbsp;Désespéré&nbsp;&raquo;</em> (comme le <a href="https://fr.wikipedia.org/wiki/Le_D%C3%A9sesp%C3%A9r%C3%A9" target="_blank">tableau</a> de <a href="https://www.musee-orsay.fr/fr/collections/dossier-courbet/biographie.html" target="_blank">Courbet</a>); moi aussi, il y a quelques années, si on m&rsquo;avait demandé de faire quelque chose avec le CIDOC-CRM je me serais arraché les cheveux si je les avais eu encore longs. Mais en fait, ce n&rsquo;est pas si terrible, et après avoir utilisé ce modèle dans plusieurs projets, je le trouve d&rsquo;une grande force et d&rsquo;une grande richesse. Je vous propose plus bas 2 ressources que j&rsquo;ai mis au point pour des formations sur le CIDOC-CRM : une <a href="http://labs.sparna.fr/cidoc-crm-frbroo-class-tree.html">navigation visuelle dans les classes du CRM+FRBRoo</a>, et un début de <a href="https://fr.slideshare.net/thomasfrancart/sparql-sur-les-donnes-cidoccrm-du-british-museum">tutorial SPARQL sur les données du British Museum</a>.</p>
<p style="text-align: justify;">Le CIDOC-CRM est une <strong>ontologie formelle de haut-niveau permettant de structurer la</strong> <strong>description et l&rsquo;histoire d&rsquo;objets patrimoniaux</strong> (tableaux, sculptures, bâtiments, fouilles archéologiques, etc.) &#8211; ou d&rsquo;autres informations similaires. L&rsquo;objectif de ce modèle est de permettre l&rsquo;<strong>intégration de données</strong> provenant de sources hétérogènes dans un graphe commun, cohérent, à l&rsquo;échelle d&rsquo;une institution ou au-delà, permettant ainsi l&rsquo;accès et l&rsquo;interprétation scientifique de ces informations.<br />
Le périmètre du CRM, tel qu&rsquo;il est défini, est &laquo;&nbsp;<em>toutes les informations requises pour l&rsquo;échange et l&rsquo;intégration de données scientifiques à propos du passé humain et de toutes les preuves de ce passé arrivées jusqu&rsquo;à nous&nbsp;&raquo;</em>. Etant fait pour la description structurée de l&rsquo;histoire d&rsquo;objets patrimoniaux, le CRM utilise a plein une <strong>modélisation évènementielle</strong>; c&rsquo;est-à-dire que fondamentalement, on ne dit pas &laquo;&nbsp;<em>Le tableau </em>Le Désespéré<em> a pour date de création : [entre 1843 et 1845]&nbsp;&raquo;</em>, mais <em>&laquo;&nbsp;Entre 1843 et 1845, Gustave Courbet a conduit une Activité de Création dont l&rsquo;objet était le tableau </em>Le désespéré<em>&laquo;&nbsp;</em>; nuance. D&rsquo;ailleurs, si j&rsquo;en crois la notice Wikipedia, on ne dit pas non plus <em>&laquo;&nbsp;ce tableau a pour titre </em>Le Désespéré<em>&laquo;&nbsp;</em>; on dit <em>&laquo;&nbsp;Gustave Courbet a effectué une activité de nommage de ce tableau qu&rsquo;il a baptisé </em>Désespoir<em>&laquo;&nbsp;</em>, puis <em>&laquo;&nbsp;Quelqu&rsquo;un d&rsquo;autre (qui ?) a (probablement) effectué une autre activité de nommage (quand ?) et a baptisé le même tableau </em>Le Désespéré<em>&laquo;&nbsp;</em>.</p>
<h2>Ce qui fait la force du CIDOC-CRM&#8230;</h2>
<p style="text-align: justify;">Le CIDOC-CRM est un modèle issu de plus de vingt ans de standardisation au sein du Comité International pour la Documentation (CIDOC) du Conseil International des Musées. Autant dire qu&rsquo;il est le résultat d&rsquo;une sédimentation de longues réflexions, ce qui rend ses fondations théoriques extrêmement solides. Le CRM a fait l&rsquo;objet de 2 versions d&rsquo;un standard ISO, ISO21127:2004 et <a href="https://www.iso.org/standard/57832.html" target="_blank">ISO21127:2014</a>. Il donne donc un <strong>cadre de modélisation rigoureux</strong>, mais avec une logique qu&rsquo;il faut s&rsquo;approprier.</p>
<p style="text-align: justify;">Son paradigme de <strong>modélisation événementielle</strong> est très puissant et permet d&rsquo;exprimer de nombreuses informations de façon très flexible. Les Evènements (ou plutôt, les Activités) sont les objets centraux que l&rsquo;on décrit à l&rsquo;aide du CIDOC-CRM : des Acteurs participent à des Evenements, qui se produisent dans un Lieu donné, une Temporalité donnée, et affectent des Objets donnés; tout cela pouvant être nommé avec des Appellations et typer avec des Types. Voilà, en une phrase, vous savez tout !</p>
<p style="text-align: justify;">Le CIDOC-CRM est un modèle générique avec un fort niveau d&rsquo;abstraction, et il ne descend volontairement pas dans le détail de spécifications de certains domaines métier particulier; c&rsquo;est pourquoi il a fait l&rsquo;objet d&rsquo;<strong>extensions pour des domaines spécifiques</strong>. Dans le monde de l&rsquo;infodoc on citera en particulier <a href="http://www.cidoc-crm.org/frbroo/">FRBRoo</a>, l&rsquo;intégration des principes du <a href="https://www.ifla.org/publications/functional-requirements-for-bibliographic-records">FRBR</a> dans le cadre de la modélisation orientée objet du CIDOC-CRM, ou bien <a href="http://www.cidoc-crm.org/pressoo/">PRESSoo</a>, lui-même une extension de FRBRoo pour la carctérisation des publication en série; dans d&rsquo;autres domaines, on peut citer <a href="http://www.cidoc-crm.org/crmarchaeo/">CRMarchaeo</a>, une extension pour la description des données archéologiques, une communauté active autour du CIDOC-CRM.</p>
<h2>&#8230;Et ce qui le rend compliqué</h2>
<p style="text-align: justify;">Ce n&rsquo;est pas la taille de ce modèle qui le rend compliqué. Le CIDOC-CRM contient 84 classes et 154 propriétés (288 si on compte aussi les inverses) (chiffre approximatif). C&rsquo;est peu, si l&rsquo;on compare aux 602 classes et 877 propriétés de <a href="http://schema.org">schema.org</a>, et cela en fait une ontologie de taille moyenne.</p>
<p style="text-align: justify;">Franchement, la chose qui le rend le plus compliqué, c&rsquo;est peut-être sa <strong>documentation</strong>. Un sympathique <a href="http://www.cidoc-crm.org/sites/default/files/2019-03-26-CIDOC%20CRM%20b.pdf">fichier PDF de 115 pages</a> (tiens, une nouvelle version sort aujourd&rsquo;hui 26 mars 2019, un hasard), ça c&rsquo;est sûr, c&rsquo;est de la spécification formelle ! de bon vieux tableaux de propriétés <em>à la</em> schema.org pourraient être les bienvenus. MAIS MAIS mais, pour vous aider à vous plonger dans le CIDOC, voici une petite <strong><a href="http://labs.sparna.fr/cidoc-crm-frbroo-class-tree.html">visualisation de l&rsquo;arborescence des classes du modèle et de FRBRoo</a></strong>, construite à partir de <a href="http://labs.sparna.fr">SKOS-Play</a> :</p>
<p style="text-align: justify;"><a href="http://labs.sparna.fr/cidoc-crm-frbroo-class-tree.html"><img class="aligncenter" src="http://labs.sparna.fr/images/cidoc-crm-tree.png" alt="" width="385" height="285" /></a><br />
Par ailleurs, les <a href="http://www.cidoc-crm.org/functional-units">diagrammes fournis pour les uses-cases</a>, assez utiles, utilisent un formalisme auquel on n&rsquo;est pas habitué dans la modélisation d&rsquo;ontologies classiques. Pour d&rsquo;autres documents d&rsquo;introduction on pourra consulter avec profit <a href="http://www.doremus.org/?page_id=36">la présentation du CRM et de FRBRoo sur le site de Doremus</a>.</p>
<p style="text-align: justify;">Un des autres aspects qui le rend compliqué c&rsquo;est son <strong>fort niveau d&rsquo;abstraction</strong>. Le CRM définit en effet des notions comme &laquo;&nbsp;Persistent Item&nbsp;&raquo;, &laquo;&nbsp;Man-Made Thing&nbsp;&raquo;, &laquo;&nbsp;Propositional Object&nbsp;&raquo;&#8230; pas évident de s&rsquo;approprier la définition de ces notions. Ajoutez à cela que tous les identifiants du CRM commencent par un code : &laquo;&nbsp;E5_Event&nbsp;&raquo;, &laquo;&nbsp;E70_Thing&nbsp;&raquo;, &laquo;&nbsp;P94_has_created&nbsp;&raquo;, et la lecture devient compliquée. Cette identification, rebutante au premier abord, n&rsquo;est finalement pas pire qu&rsquo;une autre, d&rsquo;autant que les noms des propriétés et des classes sont associés à des définitions très précises, et on fini par connaître par coeur les plus importants (E55_Type, P14_carried_out_by&#8230;).</p>
<p style="text-align: justify;">Par ailleurs le CRM est formellement défini dans le PDF de référence sus-mentionné, et il n&rsquo;existe <strong>pas d&rsquo;implémentations de référence du modèle en OWL</strong>. Les implémentations OWL fournies sur le site sont explictement non-officielles, et de toutes façons pas à jour. L&rsquo;implémentation OWL la plus à jour (mais qui date tout de même d&rsquo;il y a 2 ans, et de 3 versions du modèle) semble être celle d&rsquo;<a href="http://erlangen-crm.org/current-version">Erlangen-CRM</a>. Ce n&rsquo;est donc pas forcément immédiat d&rsquo;intégrer ce modèle dans une application basée sur les technologies du web de données.</p>
<h2 style="text-align: justify;">Les projets qui utilisent le CIDOC-CRM</h2>
<p>Mais qui qui qui (sont les snorkis) se sert du CIDOC-CRM ? L&rsquo;implémentation la plus impressionnante est celle du <a href="https://collection.britishmuseum.org">British Museum</a>, notamment au travers de l&rsquo;interface <a href="https://public.researchspace.org">ResearchSpace</a>. Vous aimez les spaghettis ? voici la formalisation des données du catalogue du BM en CIDOC-CRM :</p>
<p><a href="https://confluence.ontotext.com/download/attachments/33325240/mapping+manual-diagram.png?version=1&amp;modificationDate=1386147055000"><img class="aligncenter" src="https://confluence.ontotext.com/download/attachments/33325240/mapping+manual-diagram.png?version=1&amp;modificationDate=1386147055000" alt="" width="5419" height="3835" /></a></p>
<p style="text-align: justify;">Vous voulez expérimenter avec les données CIDOC-CRM du BM ? je vous propose un <strong><a href="https://fr.slideshare.net/thomasfrancart/sparql-sur-les-donnes-cidoccrm-du-british-museum">tutorial d&rsquo;interrogation des données du British Museum en SPARQL</a></strong>.</p>
<p style="text-align: justify;">Aux Etats-Unis, le <a href="https://britishart.yale.edu/collections/using-collections/technology/linked-open-data">Yale Center for British Art</a> publie également des données dans le CIDOC-CRM, mais semble-t-il assez light.</p>
<p style="text-align: justify;">Le projet Doremus a créé une <a href="http://data.doremus.org/ontology/">extension de FRBRoo / CIDOC-CRM pour la musique classique</a> (composition, concerts), documentée <a href="http://www.doremus.org/?page_id=36">ici</a>.</p>
<p style="text-align: justify;">Je travaille en ce moment sur une première version de la plateforme <a href="https://f.hypotheses.org/wp-content/blogs.dir/1718/files/2018/11/180924_MASA_CIDOC_Lyon.pdf">OpenArchaeo pour l&rsquo;intégration de données de fouilles archéologiques</a>, alignées sur le CIDOC-CRM à partir de base relationnelles (base ARSOL) et de fichiers XML (base AERBA).</p>
<p style="text-align: justify;">Par ailleurs, dans le cadre de ELI (European Legislation Identifier), j&rsquo;ai spécifié l&rsquo;extension du modèle ELI pour la description des étapes et des documents lors de l&rsquo;élaboration des <strong>projets de lois : <a href="https://joinup.ec.europa.eu/release/eli-dl/draft1">ELI-DL</a> </strong>(pour &laquo;&nbsp;draft legislation&nbsp;&raquo;); c&rsquo;est un bon cas pour l&rsquo;utilisation du CIDOC-CRM et de FRBRoo, puisque l&rsquo;élaboration d&rsquo;une loi est vue comme une séquence d&rsquo;Activités utilisant ou produisant des documents, jusqu&rsquo;à la publication finale de la loi au JO. C&rsquo;est également un bon scenario d&rsquo;utilisation du CIDOC-CRM comme cadre méthodologique, tout en utilisant uniquement des propriétés métier pour masquer les notions trop abstraites du CRM.</p>
<p style="text-align: justify;">On peut également supposer que l&rsquo;<a href="https://www.inha.fr">Institut National d&rsquo;Histoire de l&rsquo;Art</a> (INHA) s&rsquo;intéresse à ce genre de sujet. Le laboratoire <a href="http://larhra.ish-lyon.cnrs.fr/">LARHRA</a>, laboratoire de recherche historique à Lyon, s&rsquo;y intéresse également dans le cadre du projet <a href="http://symogih.org/">SYMOGIH</a>, pour lequel un autre modèle de données avait été initialement mis au point.</p>
<h2 style="text-align: justify;">Les outils pour convertir</h2>
<p style="text-align: justify;">Le CIDOC-CRM étant un modèle fait pour l&rsquo;intégration de données, le labo de <a href="https://www.ics.forth.gr/">FORTH</a>, en Crète, qui abrite les cerveaux du CRM, a mis au point un language et un outil de mapping, <a href="https://www.ics.forth.gr/isl/index_main.php?l=e&amp;c=721">X3ML</a>, permettant de mapper et convertir des fichiers XML vers le modèle CIDOC-CRM. Pour convertir les données de bases relationnelles, on peut utiliser <a href="https://ontop.inf.unibz.it/">&#8211;Ontop&#8211;</a>.</p>
<p><em>Alors, près à vous frotter au CIDOC-CRM ? avec toutes ces infos au moins, vous ne vous arracherez pas les cheveux !</em></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/">Le CIDOC-CRM, ne nous arrachons plus les cheveux !</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/2019/03/26/le-cidoc-crm-ne-nous-arrachons-plus-les-cheveux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/</link>
		<comments>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comments</comments>
		<pubDate>Mon, 02 Jan 2017 12:27:45 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[SHACL]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[Shapes]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065</guid>
		<description><![CDATA[<p>Edit (16/04/2020) : intéressé pour essayer SHACL ? testez SHACL Play! La vie des standards est parfois un peu difficile à comprendre, et c&#8217;est particulièrement vrai pour ce qui concerne le web de données. Pourquoi en effet existe-t-il depuis 2004 un standard &#8211; OWL &#8211; permettant de faire des raisonnements automatiques sur des données, ce&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/">SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF</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;"><strong>Edit (16/04/2020)</strong> : <em>intéressé pour essayer SHACL ? testez <strong><a href="http://shacl-play.sparna.fr/">SHACL Play!</a></strong></em></p>
<p style="text-align: justify;">La vie des standards est parfois un peu difficile à comprendre, et c&rsquo;est particulièrement vrai pour ce qui concerne le <a href="https://www.w3.org/2013/data/" target="_blank">web de données</a>. Pourquoi en effet existe-t-il depuis 2004 un standard &#8211; <a href="https://www.w3.org/TR/owl-features/" target="_blank">OWL</a> &#8211; permettant de faire des raisonnements automatiques sur des données, ce dont on a rarement besoin, alors qu&rsquo;<strong>il n&rsquo;existe aucun standard W3C pour vérifier si des données sont conformes, ce dont on a <em>toujours</em> besoin</strong> ? la réponse est sans doute dans les besoins et les problématiques des participants au W3C à l&rsquo;époque, et dans la vision d&rsquo;un web &laquo;&nbsp;sémantique&nbsp;&raquo; qui penchait plus vers un idéal d&rsquo;Intelligence Artificielle que vers un idéal de <a href="http://linkeddata.org/" target="_blank">Données Liées</a>. Seulement on a vite compris que pour faire du raisonnement il faut avoir des données correctes.</p>
<p style="text-align: justify;">Une nouvelle recommandation W3C prévue pour juin 2017,<strong> <a href="https://www.w3.org/TR/shacl/" target="_blank">SHACL (SHapes Constraint Language)</a>, va remédier à ce manque en permettant d&rsquo;exprimer des contraintes de vérification sur un graphe RDF</strong>.</p>
<p><span id="more-1065"></span></p>
<h2>Le problème avec OWL</h2>
<p style="text-align: justify;">Je participe à beaucoup de projets qui impliquent des transformations et des publications de données RDF ou <a href="http://www.sparna.fr/skos/SKOS-traduction-francais.html" target="_blank">SKOS</a> sur le web. Et <strong>c&rsquo;est bel et bien d&rsquo;abord des problématiques de validation et de vérification de données que nous avons, et pratiquement jamais des besoins de raisonnements</strong>. Or une ontologie n&rsquo;est pas faite pour vérifier la conformité des données à une spécification, ni faite pour décrire la structure d&rsquo;un formulaire de saisie de données répondant à ces spécifications.</p>
<p style="text-align: justify;">Ce que nous faisons donc systématiquement est donc de quand même créer une ontologie, mais de &laquo;&nbsp;tordre&nbsp;&raquo; l&rsquo;interprétation de cette ontologie en l&rsquo;utilisant pour vérifier des contraintes. Par exemple le fait d&rsquo;exprimer que la propriété &laquo;&nbsp;a_pour_auteur&nbsp;&raquo; a pour &laquo;&nbsp;<a href="https://fr.wikipedia.org/wiki/RDF_Schema#Propri.C3.A9t.C3.A9s" target="_blank">domaine</a>&nbsp;&raquo; la classe &laquo;&nbsp;Document&nbsp;&raquo; en OWL/<a href="https://www.w3.org/TR/rdf-schema/" target="_blank">RDFS</a> veut dire &laquo;&nbsp;si X porte la propriété a_pour_auteur, alors c&rsquo;est un Document&nbsp;&raquo;, et certainement pas &laquo;&nbsp;la propriété a_pour_auteur ne devrait être exprimée que sur des Document&nbsp;&raquo;; mais c&rsquo;est pourtant comme cela que l&rsquo;ontologie créée est utilisée dans ce contexte (en dérivant par exemple des règles de vérification SPARQL à partir des axiomes OWL).</p>
<h2 style="text-align: justify;">SHACL</h2>
<p style="text-align: justify;"><strong>SHACL permettra de spécifier la &laquo;&nbsp;forme&nbsp;&raquo; (Shape) à laquelle on souhaite qu&rsquo;un graphe RDF réponde</strong>. Cette spécification s&rsquo;exprime par exemple comme cela <em>(<strong>Attention</strong>, cet exemple est extrait de la version temporaire de SHACL au 02/01/2017 et peut changer dans la recommendation finale)</em> :</p>
<blockquote>
<pre><span style="font-size: 10pt;">ex:PersonShape
	a sh:Shape ;</span>
<span style="font-size: 10pt;">        # Applies to all persons
	sh:targetClass ex:Person ;
	sh:property [</span>
<span style="font-size: 10pt;">                # Constrains the values of the ex:ssn property
		sh:predicate ex:ssn ;     
		sh:maxCount 1 ;
		sh:datatype xsd:string ;
		sh:pattern "^\\d{3}-\\d{2}-\\d{4}$" ;
	] ;
	sh:property [
		sh:predicate ex:child ;
		sh:class ex:Person ;
		sh:nodeKind sh:IRI ;
	] ;
	sh:property [
		rdfs:comment "A person's parents are represented via ex:child used in the inverse direction." ;
		sh:path [ sh:inversePath ex:child ] ;
		sh:name "parent" ;
		sh:maxCount 2 ;
	] .
</span>

</pre>
</blockquote>
<p style="text-align: justify;">Comment décoder cet exemple ? &laquo;&nbsp;Sur les ex:Person, il faut que la propriété ex:ssn (numéro de sécu) soit présente au maximum une fois, et qu&rsquo;elle soit une chaine de caractère qui réponde à une certaine expression régulière. Il faut également que la propriété ex:child soit une référence à des IRI/URI qui soit une autre ex:Person. Il faut également qu&rsquo;une ex:Person soit référencée au maximum 2 fois par ex:child&nbsp;&raquo;. Et ainsi de suite.</p>
<p style="text-align: justify;">La version publique de SHACL est publiée à <a href="https://www.w3.org/TR/shacl/">https://www.w3.org/TR/shacl/</a> mais je vous recommande d&rsquo;ici juin de vous référer au document en cours d&rsquo;écriture à <a href="https://w3c.github.io/data-shapes/shacl/">https://w3c.github.io/data-shapes/shacl/.</a></p>
<h2>Validateurs SHACL</h2>
<p style="text-align: justify;">De la même façon que des ontologies OWL peuvent être interprétées par des raisonneurs OWL, les contraintes SHACL seront vérifiées par des vérificateurs SHACL. L&rsquo;implémentation la plus avancée est sans doute celle de TopQuadrant (les éditeurs principaux de la recommendations SHACL) qui a publié en open-source l&rsquo;<a href="https://github.com/TopQuadrant/shacl">implémentation de SHACL utilisé dans TopBraid</a>.</p>
<p style="text-align: justify;">Europeana a également <a href="https://lists.w3.org/Archives/Public/public-rdf-shapes/2016Nov/0031.html">annoncé</a> un <a href="https://github.com/hugomanguinhas/europeana_shapes">ensemble de règles SHACL</a> pour vérifier les données <a href="http://pro.europeana.eu/page/edm-documentation" target="_blank">EDM (Europeana Data Model)</a>, ainsi qu&rsquo;une implémentation d&rsquo;un validateur SHACL.</p>
<p style="text-align: justify;">Il faut également noter que, si SHACL permet de valider des données a posteriori, la recommandation inclut également ce qu&rsquo;il faut pour <a href="https://www.w3.org/TR/shacl/#nonValidation">utiliser les règles pour créer des formulaires de saisie (ordre des propriétés, libellés/regroupement des zones, etc.)</a>, ce qui permettra donc de spécifier la structure de <strong>formulaires de données sémantiques</strong>.</p>
<h2>Une technologie importante pour la publication et l&rsquo;intégration de données</h2>
<p style="text-align: justify;"><strong>SHACL va modifier profondément la façon dont on mène les projets web de données</strong>. Plutôt que de définir une ontologie forcément un peu bancale ou limitée (car pas utilisée pour son objectif principal qui est de donner un point de vue sur des données), on commencera par définir un jeu de contraintes SHACL que l&rsquo;on souhaite vérifier sur les données. Tous les projets d&rsquo;échange et d&rsquo;intégration de données vont pouvoir tirer parti de cette nouvelle brique.</p>
<p style="text-align: justify;">Cela assainira également le discours autour du web de données : il ne sera plus obligatoire de passer par une étape où l&rsquo;on doit expliquer ce qu&rsquo;est une ontologie ! Bref, je vois SHACL comme un composant important dans l&rsquo;ensemble d&rsquo;outils dont nous disposons pour partager et lier des données de qualité sur le web. Et vous, pensez-vous que SHACL vous sera utile ?</p>
<p style="text-align: justify;"><span style="font-size: 10pt;"><em>Illustration de l&rsquo;article : By Deutsche Fotothek, Public Domain, <a href="https://commons.wikimedia.org/w/index.php?curid=6483869">https://commons.wikimedia.org/w/index.php?curid=6483869</a></em></span></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/">SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF</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/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Article ArABESque &#8211; Le web de données, de &#171;&#160;l&#8217;information en réseau&#160;&#187;</title>
		<link>https://blog.sparna.fr/2016/08/01/article-arabesque-web-de-donnees-information-reseau/</link>
		<comments>https://blog.sparna.fr/2016/08/01/article-arabesque-web-de-donnees-information-reseau/#comments</comments>
		<pubDate>Mon, 01 Aug 2016 12:29:56 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[abes]]></category>
		<category><![CDATA[arABESque]]></category>
		<category><![CDATA[web de données]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1050</guid>
		<description><![CDATA[<p>La revue &#171;&#160;ArABESque&#160;&#187; publie dans son numéro 83 un dossier intitulé &#171;&#160;Créer du lien, faire sens  &#8211; Un nouveau souffle sur les données&#171;&#160;. Je signe l&#8217;article d&#8217;introduction de ce dossier, qui brosse le paysage, revient sur l&#8217;historique et donne quelques perspectives de l&#8217;écosystème du web de données. ArABESque est la revue de l&#8217;ABES (Agence Bibliographique&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2016/08/01/article-arabesque-web-de-donnees-information-reseau/">Article ArABESque &#8211; Le web de données, de &laquo;&nbsp;l&rsquo;information en réseau&nbsp;&raquo;</a> est apparu en premier sur <a rel="nofollow" href="https://blog.sparna.fr">Sparna Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><em>La revue &laquo;&nbsp;<a href="http://www.abes.fr/Arabesques" target="_blank">ArABESque</a>&nbsp;&raquo; publie dans son numéro 83 un dossier intitulé &laquo;&nbsp;<a href="http://www.abes.fr/Arabesques/Arabesques-n-83" target="_blank"><b>Créer du lien, faire sens  &#8211; Un nouveau souffle sur les données</b></a>&laquo;&nbsp;. Je signe l&rsquo;article d&rsquo;introduction de ce dossier, qui brosse le paysage, revient sur l&rsquo;historique et donne quelques perspectives de l&rsquo;écosystème du web de données. ArABESque est la revue de l&rsquo;<a href="http://abes.fr" target="_blank">ABES</a> (Agence Bibliographique de l&rsquo;Enseignement Supérieur), qui gère notamment le <a href="http://www.abes.fr/Sudoc/Sudoc-public-presentation" target="_blank">SUDOC</a>, catalogue collectif des bibliothèques de l&rsquo;enseignement supérieur, 10 millions de notices, en RDF, évidemment !<br />
</em></p>
<p><span id="more-1050"></span></p>
<h1>Le web de données, de « l’information en réseau »</h1>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Le web de données (on préférera ce terme à celui plus ambigu de web sémantique), ce n&rsquo;est pas compliqué ; ça marche et c&rsquo;est utile, en particulier pour les bibliothèques.<b> </b></span></span></span></p>
<h2>Retour aux racines du web</h2>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Le web n&rsquo;a pas été conçu pour n&rsquo;être qu&rsquo;un paquet de documents mis en lien. Il intègre, dès sa conception en 1989 par Tim Berners Lee<a class="sdfootnoteanc" href="#sdfootnote1sym" name="sdfootnote1anc"><sup>1</sup></a>, plus de sémantique que l&rsquo;utilisation qui en sera faite ensuite. En particulier par la dualité Identifiant/Représentation :</span></span></span></p>
<ul>
<li>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Identifiant : ce qui commence par &laquo;&nbsp;http://&#8230;&nbsp;&raquo; et que l&rsquo;on voit dans la barre d&rsquo;adresse de notre navigateur est une URL, où le &laquo;&nbsp;L&nbsp;&raquo; est mis pour &laquo;&nbsp;Locator&nbsp;&raquo;. C&rsquo;est donc </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>l&rsquo;</b></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>adresse d&rsquo;un document sur le web</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">; mais ce n&rsquo;est qu&rsquo;un cas particulier des URIs, où le &laquo;&nbsp;I&nbsp;&raquo; est mis pour &laquo;&nbsp;</span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>Identifier</i></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&laquo;&nbsp;, qui sont des </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>identifiants, dans le contexte du web, de choses du monde réel</b></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>. </b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">On comprend donc qu&rsquo;on peut identifier sur le web n&rsquo;importe quoi à l&rsquo;aide d&rsquo;une URI : Victor Hugo, les pizzas </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>margherita</i></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">, le terme de thésaurus &laquo;&nbsp;gouvernance&nbsp;&raquo;, la Loire, la caractéristique &laquo;&nbsp;se situe à&nbsp;&raquo;, etc. On parle d&rsquo;une façon générale de </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>ressources</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">.</span></span></span></p>
</li>
<li>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Représentation : si une URI est l&rsquo;identifiant d&rsquo;une &laquo;&nbsp;ressource&nbsp;&raquo;, alors quel &laquo;&nbsp;document&nbsp;&raquo; obtiendra-t-on en naviguant vers cette URI ? On a l&rsquo;habitude d&rsquo;obtenir pour une même adresse toujours le même document, mais d&rsquo;une façon générale un identifiant peut être associé à </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>plusieurs représentations</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"> qui varient &#8211; de façon transparente &#8211; en fonction de préférences de langue, de format, de lieu, etc. C&rsquo;est ce qu&rsquo;on appelle la </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>négociation de contenu</b></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>.</b></span></span></p>
</li>
</ul>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Cette capacité des URIs d&rsquo;identifier absolument n&rsquo;importe quoi, indépendamment d’une représentation particulière, est la clé de voûte de l&rsquo;universalité du web (de données).</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Une fois les &laquo;&nbsp;choses&nbsp;&raquo; identifiées et rendues indépendantes des documents qui les représentent, il devient possible de parler de ces choses : je peux publier sur le web l&rsquo;assertion que &laquo;&nbsp;La Tour Eiffel se situe à Paris&nbsp;&raquo;, en utilisant 3 URIs pour identifier les 3 composantes de cette assertion : La Tour Eiffel, la notion de &laquo;&nbsp;se situer à&nbsp;&raquo;, et Paris. C&rsquo;est le standard RDF (Resource Description Framework) qui permet d’employer ces assertions en triplets. Notons au passage que, le web étant par nature décentralisé, n&rsquo;importe qui est libre :</span></span></span></p>
<ul>
<li>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">de créer une nouvelle URI pour identifier Paris ;</span></span></span></p>
</li>
<li>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">ou de créer une assertion en se référant à une URI déjà existante pour Paris (par exemple celle définie par l&rsquo;Insee<a class="sdfootnoteanc" href="#sdfootnote2sym" name="sdfootnote2anc"><sup>2</sup></a>) ;</span></span></span></p>
</li>
<li>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">ou encore d&rsquo;exprimer des liens d&rsquo;équivalence entre identifiants : l&rsquo;URI que je définis pour Paris représente la même &laquo;&nbsp;chose&nbsp;&raquo; que celle définie par l&rsquo;Insee.</span></span></span></p>
</li>
</ul>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">On voit donc se dessiner ce qui nous occupe : un réseau décentralisé de données liées par des triplets.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Mais il faut aller plus loin pour que l&rsquo;interopérabilité soit complète &#8211; puisque le web de données n&rsquo;est qu&rsquo;une solution à la problématique de l&rsquo;interopérabilité. En effet, pour qu&rsquo;une autre application puisse décoder mon assertion, il faut que je donne une définition précise des identifiants que j&rsquo;ai utilisés, qui sont sans doute différents de ceux que comprend cette application. En particulier, il faut que je donne une définition précise de mes &laquo;&nbsp;verbes&nbsp;&raquo; (&laquo;&nbsp;est situé à&nbsp;&raquo;) et mes &laquo;&nbsp;types&nbsp;&raquo; (&laquo;&nbsp;Lieu&nbsp;&raquo;, &laquo;&nbsp;Personne&nbsp;&raquo;, etc.). C&rsquo;est ce que permettent les </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>ontologies</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">, dont l&rsquo;objectif est de donner un sens univoque à ce dont je parle, à l&rsquo;aide de la logique formelle (on parle également de </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>vocabulaire</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"> ou de </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>modèle de données</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">, un peu par abus de langage). Les ontologies permettent également de déclarer des équivalences entre verbes ou entre types, rendant ainsi interopérables des données hétérogènes. Par exemple, je peux dire que, dans mon contexte &laquo;&nbsp;est situé à &nbsp;&raquo; relie quelque chose à un &laquo;&nbsp;Lieu&nbsp;&raquo; et que cela représente la même notion que l&rsquo;identifiant &laquo;&nbsp;basedNear&nbsp;&raquo; défini dans une autre ontologie bien connue, FOAF<a class="sdfootnoteanc" href="#sdfootnote3sym" name="sdfootnote3anc"><sup>3</sup></a>.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Les ontologies font donc émerger de cet océan de liens des structures interopérables, rendant ainsi les données liées plus &laquo;&nbsp;sémantiques&nbsp;&raquo;, c’est-à-dire plus facilement réutilisables.</span></span></span></p>
<h2>Quels enjeux et quelles conséquences ?</h2>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Souvenons-nous des fausses promesses entendues au milieu des années 2000 à propos du web de données : les machines allaient bientôt comprendre &laquo;&nbsp;le sens&nbsp;&raquo; des textes, on nous parlait de web 3.0, de &laquo;&nbsp;Twine&nbsp;&raquo; (un site qui n’existe plus maintenant mais qui promettait la révolution des réseaux sociaux), on cherchait quelle serait la &laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>killer-app</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&nbsp;&raquo; &#8211; une application si attrayante qu’elle aurait justifié la technologie à elle seule, etc. Rien de tout cela n&rsquo;est arrivé, mais d&rsquo;autres conséquences ont eu lieu.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">D&rsquo;abord une quantité grandissante de &laquo;&nbsp;données ouvertes et liées&nbsp;&raquo; publiées par une variété importante de producteurs de données : c&rsquo;est le fameux &laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>Linked Open Data</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&laquo;&nbsp;<a class="sdfootnoteanc" href="#sdfootnote4sym" name="sdfootnote4anc"><sup>4</sup></a>. Citons-en quelques points notables: DBPedia francophone (une extraction en RDF des données de Wikipedia), data.bnf.fr (notices FRBRisées &#8211; voir plus bas -, autorités et thématiques de la Bibliothèque Nationale de France), ou encore VIAF (Virtual International Authority File, une mise en commun des fichiers d&rsquo;autorité d&rsquo;une quarantaine de bibliothèques et de musées).</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Dans cet ensemble de données, il faut en mentionner certaines ayant un statut particulier : les thésaurus. Ceux-ci peuvent être représentés et publiés dans le modèle <a href="http://www.sparna.fr/skos/SKOS-traduction-francais.html" target="_blank">SKOS</a>. Ce modèle permet d&rsquo;aligner les thésaurus pour permettre l&rsquo;interopérabilité de catalogues documentaires utilisant des vocabulaires d&rsquo;indexation différents (&laquo;&nbsp;Désobéissance civile&nbsp;&raquo; dans Rameau est ainsi rapprochée de &laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>Civil disobedience</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&nbsp;&raquo; dans les sujets de la librairie du congrès américain<a class="sdfootnoteanc" href="#sdfootnote5sym" name="sdfootnote5anc"><sup>5</sup></a>). Quant aux ontologies, on se référera au projet LOV &#8211; </span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>Linked Open Vocabularies<a class="sdfootnoteanc" href="#sdfootnote6sym" name="sdfootnote6anc"><sup>6</sup></a></i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Ensuite, une appropriation de cet enjeu des données structurées et liées par les grands moteurs de recherche : c&rsquo;est l&rsquo;initiative </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><u>schema.org<a class="sdfootnoteanc" href="#sdfootnote7sym" name="sdfootnote7anc"><sup>7</sup></a></u></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">, qui propose un modèle de description de &laquo;&nbsp;plein de choses dont on parle sur le web&nbsp;&raquo; (blogs, livres, films, produits, etc.), compréhensible par Google, Yahoo, Bing et consorts. On peut reprocher à </span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><u>schema.org</u></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"> son biais vers le e-commerce, sa vision occidentalisée et son manque de transparence dans la gouvernance, mais si les bibliothèques souhaitent rendre leurs données plus visibles par les moteurs, cela passe par la publication de données compatibles avec </span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><u>schema.org</u></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">D&rsquo;une façon plus profonde, ces technologies induisent une représentation générale de l&rsquo;information en </span></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>graphe décentralisé</b></span></span><span style="font-family: Arial,serif;"><span style="font-size: small;"><b>,</b></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"> en réseau. Ce mode de structuration, de pensée, fait suite à celui plutôt tabulaire des bases relationnelles, et plutôt hiérarchique de XML. La conséquence est flagrante sur les notices bibliographiques avec le modèle FRBR. Les &laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>Functionnal Requirement for Bibliographic Records</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&laquo;&nbsp;, successeurs de l&rsquo;ISBD (&laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>International Standard for Bibliographic Record</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&laquo;&nbsp;) proposent en effet un éclatement de la notice en 4 niveaux conceptuels, eux-mêmes reliés aux personnes ou aux organisations impliquées dans la vie du document (auteur, contributeur, éditeur, possesseur), lesquelles sont elles-mêmes reliées entre elles ou à d&rsquo;autres données du web.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Cette tendance est à rapprocher du constat que de plus en plus de systèmes informatiques de diffusion des catalogues utilisent une base de graphe RDF (&laquo;&nbsp;</span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><i>triplestore</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">&laquo;&nbsp;) pour centraliser les métadonnées des notices FRBRisées, les fiches d&rsquo;autorité et les thésaurus. Cette base devient le pivot central des canaux de diffusion (sites web, flux RSS, formats d&rsquo;échange métier, etc.). Les lois européennes sont notamment diffusées sur ce mode, via la base Cellar et le portail Eur-Lex<a class="sdfootnoteanc" href="#sdfootnote8sym" name="sdfootnote8anc"><sup>8</sup></a>.</span></span></span></p>
<h2>Prochaines promesses ?</h2>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Sans retomber dans les promesses hasardeuses évoquées plus haut, on peut néanmoins esquisser les lignes de force du web de données pour les prochaines années : une utilisation grandissante de </span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"><u>schema.org</u></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;"> par les moteurs de recherche et les projets de diffusion de données; l&rsquo;intégration native des fonctions de publication/récupération de données du web dans les Content management system (CMS) et les SIGB; la publication et l&rsquo;alignement de plus en plus de données &#8211; dont des thésaurus ou des données de la recherche; la généralisation de FRBR et de ses dérivés pour la description des notices bibliographiques, etc.</span></span></span></p>
<p class="western" align="justify"><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: small;">Au-delà des aspects technologiques, ce sont des logiques de partage, de réutilisation, de mise en réseau, de collaboration, ou d&rsquo;insertion dans un écosystème d&rsquo;acteurs, qui sont favorisés par cet artefact unique qu’est le web de données.</span></span></span></p>
<div id="sdfootnote1">
<p><span style="font-size: small;"><a class="sdfootnotesym" href="#sdfootnote1anc" name="sdfootnote1sym">1</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">Voir l&rsquo;article de référence sur le sujet : Tim Berners-Lee, James Hendler and Ora Lassila, &laquo;&nbsp;The Semantic Web&nbsp;&raquo;, </span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><i>Scientific American</i></span></span></span><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">, Mai 2001.</span></span></span></span></p>
</div>
<div id="sdfootnote2">
<p class="western" align="justify"><a class="sdfootnotesym" href="#sdfootnote2anc" name="sdfootnote2sym">2</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">URI de Paris définie par l&rsquo;Insee : </span></span></span><a href="http://id.insee.fr/geo/commune/75056"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">http://id.insee.fr/geo/commune/75056</span></span></a><span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"> , voir </span></span></span><a href="http://rdf.insee.fr/geo"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">http://rdf.insee.fr/geo</span></span></a></p>
</div>
<div id="sdfootnote3">
<p class="western" align="justify"><a class="sdfootnotesym" href="#sdfootnote3anc" name="sdfootnote3sym">3</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">FOAF : </span></span></span></span><a href="http://xmlns.com/foaf/spec/"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">http://xmlns.com/foaf/spec/</span></span></span></a></p>
</div>
<div id="sdfootnote4">
<p><span style="font-size: small;"><a class="sdfootnotesym" href="#sdfootnote4anc" name="sdfootnote4sym">4</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">Linked Open Data : </span></span></span></span><a href="http://linkeddata.org/"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">http://linkeddata.org/</span></span></span></a> </span></p>
</div>
<div id="sdfootnote5">
<p><span style="font-size: small;"><a class="sdfootnotesym" href="#sdfootnote5anc" name="sdfootnote5sym">5</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">En triplet RDF : &lt;http://data.bnf.fr/ark:/12148/cb12049451f&gt; skos:closeMatch &lt;http://id.loc.gov/authorities/subjects/sh90000103&gt;</span></span></span></span></span></p>
</div>
<div id="sdfootnote6">
<p class="western" align="justify"><a class="sdfootnotesym" href="#sdfootnote6anc" name="sdfootnote6sym">6</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">LOV : </span></span></span></span><a href="http://lov.okfn.org/"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">http://lov.okfn.org</span></span></span></a></p>
</div>
<div id="sdfootnote7">
<p class="western" align="justify"><a class="sdfootnotesym" href="#sdfootnote7anc" name="sdfootnote7sym">7</a><sup><span style="font-size: xx-small;"></span></sup> <a href="http://schema.org/"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;"><span lang="en-US">http://schema.org</span></span></span></a></p>
</div>
<div id="sdfootnote8">
<p><span style="font-size: small;"><a class="sdfootnotesym" href="#sdfootnote8anc" name="sdfootnote8sym">8</a><sup><span style="font-size: xx-small;"></span></sup> <span style="color: #000000;"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">EurLex : </span></span></span><a href="http://eurlex.europa.eu/"><span style="font-family: Arial,serif;"><span style="font-size: xx-small;">http://eurlex.europa.eu</span></span></a> </span></p>
</div>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2016/08/01/article-arabesque-web-de-donnees-information-reseau/">Article ArABESque &#8211; Le web de données, de &laquo;&nbsp;l&rsquo;information en réseau&nbsp;&raquo;</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/2016/08/01/article-arabesque-web-de-donnees-information-reseau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
