<?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; google spreadsheets</title>
	<atom:link href="https://blog.sparna.fr/tag/google-spreadsheets/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>Créer des référentiels SKOS/RDF à partir d&#8217;Excel</title>
		<link>https://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/</link>
		<comments>https://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/#comments</comments>
		<pubDate>Thu, 12 Jan 2017 14:55:12 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Editeurs]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[SKOS]]></category>
		<category><![CDATA[SKOS Play]]></category>
		<category><![CDATA[Thesaurus]]></category>
		<category><![CDATA[convertisseur]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[google spreadsheets]]></category>
		<category><![CDATA[skos play]]></category>

		<guid isPermaLink="false">http://blog.sparna.fr/?p=1084</guid>
		<description><![CDATA[<p>Les projets de &#171;&#160;moteurs de recherche sémantiques&#160;&#187;, ou de &#171;&#160;d&#8217;accès intelligent à l&#8217;information&#160;&#187; nécessitent de mettre au point, reprendre et maintenir des référentiels d&#8217;autorités : concepts d&#8217;indexation, liste de personnes, organisations, lieux, etc. Ces référentiels d&#8217;autorité forment l&#8217;embryon d&#8217;un Knowledge Graph de l&#8217;organisation. RDF et/ou SKOS sont de bonnes technologies pour implémenter ce Knowledge Graph&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/">Créer des référentiels SKOS/RDF à partir d&rsquo;Excel</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;">Les projets de &laquo;&nbsp;moteurs de recherche sémantiques&nbsp;&raquo;, ou de &laquo;&nbsp;d&rsquo;accès intelligent à l&rsquo;information&nbsp;&raquo; nécessitent de mettre au point, reprendre et maintenir des <strong>référentiels d&rsquo;autorités</strong> : concepts d&rsquo;indexation, liste de personnes, organisations, lieux, etc. Ces référentiels d&rsquo;autorité forment l&rsquo;embryon d&rsquo;un <a href="https://www.google.com/intl/fr_fr/insidesearch/features/search/knowledge.html">Knowledge Graph</a> de l&rsquo;organisation. RDF et/ou SKOS sont de bonnes technologies pour implémenter ce Knowledge Graph de par leur structure en graphe, leur absence de modèle contraint et la possibilité de récupérer des données liées sur le web pour enrichir la connaissance interne. La maintenance et le travail sur ce graphe de connaissance peut nécessiter des outils professionnels et commerciaux; mais ils ne sont pas toujours justifiés et les projets simples et les approches pragmatiques feraient mieux de favoriser <strong>l&rsquo;outil le plus simple pour commencer à créer un Knowledge Graph : <a href="https://products.office.com/fr-fr/excel" target="_blank">Excel</a></strong>.</p>
<p style="text-align: justify;">Ce besoin de génération de données RDF à partir de tableaux éditables par tous, sans courbe d&rsquo;apprentissage, est récurrent. C&rsquo;est pourquoi <a href="http://labs.sparna.fr/skos-play">SKOS Play</a> vient d&rsquo;être enrichi avec un nouveau <a href="http://labs.sparna.fr/skos-play/convert" target="_blank"><strong>convertisseur de tableaux Excel vers SKOS / RDF</strong></a>. On créé un fichier Excel, on le structure en respectant quelques règles, on le soumet au convertisseur, et celui-ci nous renvoie un fichier RDF/SKOS. Le convertisseur contient quelques règles prédéfinies pour générer du SKOS mais permet très facilement de générer du RDF utilisant n&rsquo;importe quel vocabulaire (<a href="http://schema.org" target="_blank">schema.org</a>, SHACL, etc.).</p>
<p style="text-align: justify;"><strong>Ce convertisseur en ligne ne demande rien à télécharger, rien à installer, pas de login à créer, n&rsquo;a pas de limitations, et est entièrement <a href="http://labs.sparna.fr/skos-play/convert#documentation" target="_blank">documenté</a>.</strong> Il permet sans aucune courbe d&rsquo;apprentissage de créer des données RDF/SKOS, par des documentalistes ou professionnels de l&rsquo;information sans formation sur ces notions. Ce développement a été en partie financé par le gouvernement Luxembourgeois dans le cadre du développement de la <a href="http://legilux.public.lu" target="_blank">nouvelle version du portail de recherche Legilux</a> sur la législation luxembourgeoise, qui s&rsquo;appuie sur un certain nombre de référentiels contrôlés (testez l&rsquo;autocompletion du champ de recherche pour vous en rendre compte).<strong><br />
</strong></p>
<h2>Format des fichiers Excel</h2>
<p style="text-align: justify;">Le formulaire de conversion inclut un certain nombre de fichiers Excel d&rsquo;exemples que vous pouvez télécharger pour les adapter à vos propres données, pour respecter le format de tableau attendu par le convertisseur (reportez-vous à la <a href="http://labs.sparna.fr/skos-play/convert#documentation" target="_blank">documentation en ligne</a>). Ce format est très simple :</p>
<ul style="text-align: justify;">
<li>quelques informations d&rsquo;entête dans les premières lignes (URI du ConceptScheme / graphe nommé, métadonnées descriptives du référentiel, déclaration des préfixes, etc.);</li>
<li>une ligne déclarant les propriétés RDF correspondant à chaque colonne;</li>
<li>puis ensuite une ligne par entrée, avec son URI dans la première colonne puis les valeurs de chaque propriétés dans les colonnes suivante;</li>
</ul>
<p style="text-align: justify;">Ce qui donne :</p>
<p><a href="http://blog.sparna.fr/wp-content/uploads/2017/01/screenshot_excel_convert.png"><img class="aligncenter wp-image-1088 size-full" src="http://blog.sparna.fr/wp-content/uploads/2017/01/screenshot_excel_convert.png" alt="screenshot_excel_convert" width="1253" height="384" /></a></p>
<h2>Génération de données RDF</h2>
<p style="text-align: justify;">Le convertisseur supporte tout le modèle SKOS, y compris les skos:Collection, skos:OrderedCollection, le SKOS-XL, etc. avec toutes les facilités de saisie correspondantes (possibilité d&rsquo;inverser le sens des propriétés, de barrer certaines cellules pour qu&rsquo;elles ne soient pas converties, etc.). Et pour ceux qui veulent aller plus loin, le convertisseur supporte toutes les constructions RDF avancées :</p>
<ul style="text-align: justify;">
<li>déclaration de préfixes;</li>
<li>littéraux avec langues ou datatypes;</li>
<li>noeuds anonymes;</li>
<li>listes RDF;</li>
<li>graphes nommés;</li>
</ul>
<p style="text-align: justify;">Le convertisseur a été éprouvé dans plusieurs projets en production pour la génération de référentiels d&rsquo;autorité (personnes, organisations, status, etc.), de concepts SKOS enrichis avec des métadonnées d&rsquo;autres vocabulaires, et de configuration de Shapes en <a href="http://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/" target="_blank">SHACL</a>.</p>
<h2>Intégration avec Google Spreadsheet</h2>
<p style="text-align: justify;">Excel c&rsquo;est bien. Excel collaboratif c&rsquo;est mieux. C&rsquo;est pourquoi <strong>le convertisseur s&rsquo;intègre directement avec <a href="https://docs.google.com/spreadsheets/u/0/" target="_blank">Google Spreadsheets</a></strong>. Le résultat ? on peut éditer ses tableaux à plusieurs en même temps dans un document en ligne Google, puis se connecter dans le convertisseur avec son login Google, choisir le fichier dans la liste des fichiers de notre Drive, et convertir ce fichier à la volée.</p>
<p style="text-align: justify;">Le web sémantique n&rsquo;a pas besoin d&rsquo;être compliqué.</p>
<p><em>Crédit photo : By Piet Mondrian &#8211; Gemeentemuseum Den Haag,  Public Domain, <a href="https://commons.wikimedia.org/w/index.php?curid=37614350">https://commons.wikimedia.org/w/index.php?curid=37614350</a></em></p>
<p><script type="application/ld+json">// <![CDATA[
{
 "@context": "http://schema.org",
 "@type": "WebApplication",
 "name": "SKOS Play convert",
 "url": "http://labs.sparna.fr/skos-play/convert",
 "applicationCategory": "Semantic web application",
 "description": "SKOS Play convert allows generating RDF/SKOS data from Excel tables",
 "keywords": "Excel, RDF, SKOS"
}
// ]]&gt;</script></p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/">Créer des référentiels SKOS/RDF à partir d&rsquo;Excel</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/12/creer-des-referentiels-skosrdf-a-partir-dexcel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
