<?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; ontologie</title>
	<atom:link href="https://blog.sparna.fr/tag/ontologie/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>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>Penser, modéliser (pour le web de données) &#8211; 2/2</title>
		<link>https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/</link>
		<comments>https://blog.sparna.fr/2014/05/26/penser-modeliser-web-de-donnees-2/#comments</comments>
		<pubDate>Mon, 26 May 2014 11:36:09 +0000</pubDate>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
				<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[OWL]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[modèle]]></category>
		<category><![CDATA[modélisation]]></category>
		<category><![CDATA[ontologie]]></category>
		<category><![CDATA[thesaurus]]></category>

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

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

		<guid isPermaLink="false">http://blog.sparna.fr/?p=517</guid>
		<description><![CDATA[<p>Trois espèces d&#8217;animaux différentes se rencontrent principalement dans les steppes des langages de représentation des connaissances du web de données. Les ontologies, les thesaurus et les taxonomies, si elles partagent l&#8217;organisation hiérarchiques de concepts entre eux, n&#8217;ont pas les mêmes usages, ni les mêmes objectifs. L&#8217;ontologie est faite pour décrire le monde tel qu&#8217;il est;&#8230;</p>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2013/12/07/ontologie-thesaurus-taxonomie-web-de-donnees/">Ontologie, Thesaurus et Taxonomie sur le web de données</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;">Trois espèces d&rsquo;animaux différentes se rencontrent principalement dans les steppes des langages de représentation des connaissances du web de données. Les ontologies, les thesaurus et les taxonomies, si elles partagent l&rsquo;organisation hiérarchiques de concepts entre eux, n&rsquo;ont pas les mêmes usages, ni les mêmes objectifs. L&rsquo;ontologie est faite pour décrire le monde tel qu&rsquo;il est; le thesaurus est fait pour faciliter l&rsquo;accès à des contenus; la taxonomie est fait pour classer des ressources dans des dossiers, des catégories. Les systèmes d&rsquo;accès aux contenus, aux données ou aux connaissances, combinent et articulent ces 3 systèmes d&rsquo;organisation pour décrire le monde, indexer, et catégoriser les contenus.</p>
<p style="text-align: justify;"><span id="more-711"></span></p>
<table border="0">
<tbody>
<tr>
<td style="width: 25%;"></td>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;"><strong>Ontologie</strong></span></td>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;"><strong>Thesaurus</strong></span></td>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;"><strong>Taxonomie</strong></span></td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Définition</span></td>
<td style="width: 25%;">La définition couramment citée, &laquo;&nbsp;une ontologie est la spécification formelle d&rsquo;une conceptualisation partagée&nbsp;&raquo;, n&rsquo;éclairera guère le profane. De façon plus opérationnelle, l&rsquo;ontologie cherche à décrire de façon formelle un domaine de connaissance, en identifiant les types d&rsquo;objets de ce domaine, leurs propriétés et leurs relations.</td>
<td style="width: 25%;"> &laquo;&nbsp;Liste organisée de termes contrôlées et normalisés (descripteurs et non-descripteurs) servant à l&rsquo;indexation des documents et des questions dans un système documentaire&nbsp;&raquo; (D. Degez, D. Ménillet, Thesauroglossaire des langages documentaires)</td>
<td style="width: 25%;">&laquo;&nbsp;Taxonomy&nbsp;&raquo; est très utilisé par les anglo-saxons pour désigner la &laquo;&nbsp;science de la classifcation&nbsp;&raquo; et par extension tout système de classification/catégorisation.</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Contient&#8230;</span></td>
<td style="width: 25%;">Des classes, des propriétés, et des règles logiques formelles. Eventuellement des instances de classe.</td>
<td style="width: 25%;">Des concepts et des termes, organisés entre eux, avec leurs libellés, leurs traductions, leurs synonymes, et leurs descriptions/définitions.</td>
<td style="width: 25%;">des catégories organisés hiérarchiquement</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Utilisation</span></td>
<td style="width: 25%;">Sert à <strong>instancier</strong> et à <strong>raisonner</strong></td>
<td style="width: 25%;">Sert à <strong>indexer</strong> des contenus ou des ressources avec des mots-clés et à les <strong>rechercher </strong>(avec les mêmes mots-clés)</td>
<td style="width: 25%;">Sert à <strong>classifier</strong>, à ranger des contenus ou des ressources</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Niveau de formalisme logique</span></td>
<td style="width: 25%;">Très formel (formalisme mathématique)</td>
<td style="width: 25%;">Peu formel</td>
<td style="width: 25%;">Moyennement formel (peut être plus formel qu&rsquo;un thesaurus, dans le sens où la hiérarchie des entrées peut suivre certaines contraintes.)</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Niveau de proximité avec la langue naturelle</span></td>
<td style="width: 25%;">Très éloigné de la langue naturelle (utilise des identifiants techniques pour s&rsquo;abstraire du langage naturel)</td>
<td style="width: 25%;">Proche de la langue naturelle (donne des équivalents linguistiques de chaque entrée, des traductions dans d&rsquo;autres langues)</td>
<td style="width: 25%;">Pas particulièrement en lien avec la langue naturelle.</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Types de relations utilisées</span></td>
<td style="width: 25%;">
<ul>
<li>Inclusion (classe / sous-classe);</li>
<li>Opérations ensemblistes : union, intersection, exclusion;</li>
<li>Caractéristiques des propriétés : domaine, ensemble d&rsquo;arrivée, transitivité, propriétés inverses, etc.</li>
</ul>
</td>
<td style="width: 25%;">Hiérarchiques et associatives; éventuellement relations d&rsquo;alignement</td>
<td style="width: 25%;"> Hiérarchiques seulement</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;"> Exemple</span></td>
<td style="width: 25%;">&laquo;&nbsp;Voiture&nbsp;&raquo; est un type particulier de &laquo;&nbsp;Véhicule terrestre&nbsp;&raquo;, lui-même un type particulier de &laquo;&nbsp;Véhicule&nbsp;&raquo;. La propriété &laquo;&nbsp;milieu de déplacement du véhicule&nbsp;&raquo; (terre, air, mer, espace) s&rsquo;applique aux &laquo;&nbsp;Véhicules&nbsp;&raquo;; les &laquo;&nbsp;Véhicules terrestres&nbsp;&raquo; sont tous les &laquo;&nbsp;Véhicules&nbsp;&raquo; dont &laquo;&nbsp;milieu de déplacement&nbsp;&raquo; vaut &laquo;&nbsp;terre&nbsp;&raquo;.</td>
<td style="width: 25%;">Le terme &laquo;&nbsp;Voiture&nbsp;&raquo; est un terme spécifique de &laquo;&nbsp;Véhicule terrestre&nbsp;&raquo;, lui-même spécifique de &laquo;&nbsp;Véhicule&nbsp;&raquo;. Le terme &laquo;&nbsp;Voiture&nbsp;&raquo; peut aussi se dire &laquo;&nbsp;Automobile&nbsp;&raquo;, ou &laquo;&nbsp;Bagnole&nbsp;&raquo;. En anglais on dira &laquo;&nbsp;Car&nbsp;&raquo;. Si on s&rsquo;intéresse à &laquo;&nbsp;Voiture&nbsp;&raquo; on peut également allez voir le terme &laquo;&nbsp;Autoroute&nbsp;&raquo;.</td>
<td style="width: 25%;">La catégorie &laquo;&nbsp;Véhicules terrestre&nbsp;&raquo; est une sous-catégories des &laquo;&nbsp;Véhicules&nbsp;&raquo;. &laquo;&nbsp;Voiture&nbsp;&raquo; est rangée dans la catégorie des &laquo;&nbsp;Véhicules terrestre&nbsp;&raquo;.</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;"> Un exemple</span></td>
<td style="width: 25%;">L&rsquo;ontologie <a href="http://xmlns.com/foaf/spec/">FOAF</a> définit des classes et des propriétés pour décrire des personnes.</td>
<td style="width: 25%;">Le thesaurus <a href="http://www.eionet.europa.eu/gemet/">GEMET</a> (General Multilingual Environmental Thesaurus) est un thesaurus multilingue (+ de 30 langues) développé par l&rsquo;agence européenne de l&rsquo;énergie et disponible gratuitement.</td>
<td style="width: 25%;">Les taxonomies publiées par l&rsquo;<a href="http://www.iptc.org/site/NewsCodes/View_NewsCodes">IPTC</a> servent à catégoriser les articles de news.Les <a href="http://en.wikipedia.org/wiki/Help:Category">catégories de Wikipedia</a> servent à organiser les entrées de Wikipedia.</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Standard de représentation sur le web de données</span></td>
<td style="width: 25%;"><a href="http://www.w3.org/TR/owl2-overview/">OWL</a></td>
<td style="width: 25%;"><a href="http://sparna.fr/skos/SKOS-traduction-francais.html">SKOS</a></td>
<td style="width: 25%;"> <a href="http://sparna.fr/skos/SKOS-traduction-francais.html">SKOS</a></td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">A utiliser si&#8230;</span></td>
<td style="width: 25%;">Si vous avez besoin de décrire les choses telles qu&rsquo;elles sont, et pas simplement d&rsquo;indexer des contenus, et que vous avez besoin de décrire précisément les caractéristiques de chaque chose, alors c&rsquo;est une ontologie qu&rsquo;il vous faut. (Typiquement, projets de capitalisation de connaissance)</td>
<td style="width: 25%;">Si vous voulez mettre des mots-clés sur des contenus, et pouvoir rechercher avec ces mêmes mots-clés, vous avez besoin d&rsquo;un thesaurus.Vous pouvez vouloir utiliser un thesaurus en combinaison avec un moteur de recherche plein-texte pour améliorer sa pertinence.</td>
<td style="width: 25%;">Si vous avez besoin de ranger des documents dans des dossiers, de mettre au point une recherche à facettes, alors c&rsquo;est d&rsquo;une taxonomie dont vous avez besoin.</td>
</tr>
<tr>
<td style="width: 25%; text-align: center;"><span style="font-size: medium;">Mais encore&#8230;</span></td>
<td style="width: 25%;">Une ontologie n&rsquo;est pas une anthologie.</td>
<td style="width: 25%;"> Un thesaurus n&rsquo;est pas un dinosaure.</td>
<td style="width: 25%;"><em> (là je n&rsquo;ai pas l&rsquo;inspiration&#8230; une idée ?)</em></td>
</tr>
</tbody>
</table>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=5b4029c5-9f0b-4a3b-ad39-28b1462ef735" alt="" /></div>
<p>Cet article <a rel="nofollow" href="https://blog.sparna.fr/2013/12/07/ontologie-thesaurus-taxonomie-web-de-donnees/">Ontologie, Thesaurus et Taxonomie sur le web de données</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/2013/12/07/ontologie-thesaurus-taxonomie-web-de-donnees/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
