<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>Commentaires sur : SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF</title>
	<atom:link href="https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/</link>
	<description>Web de données &#124; Architecture de l&#039;information &#124; Accès aux connaissances</description>
	<lastBuildDate>Fri, 14 Feb 2025 17:36:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Par : Thomas Francart</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-21674</link>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
		<pubDate>Thu, 16 Apr 2020 07:28:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-21674</guid>
		<description><![CDATA[A tous ceux qui s&#039;intéressent à SHACL, je signale un nouvel outil SHACL Play que j&#039;ai mis en ligne, mais pas encore annoncé officiellement (sauf maintenant !) : http://shacl-play.sparna.fr/. Il y a notamment un &quot;catalogue de Shapes&quot; partagé via un document collaboratif dans Github : https://github.com/sparna-git/SHACL-Catalog/blob/master/shacl-catalog.ttl]]></description>
		<content:encoded><![CDATA[<p>A tous ceux qui s&rsquo;intéressent à SHACL, je signale un nouvel outil SHACL Play que j&rsquo;ai mis en ligne, mais pas encore annoncé officiellement (sauf maintenant !) : <a href="http://shacl-play.sparna.fr/" rel="nofollow">http://shacl-play.sparna.fr/</a>. Il y a notamment un &laquo;&nbsp;catalogue de Shapes&nbsp;&raquo; partagé via un document collaboratif dans Github : <a href="https://github.com/sparna-git/SHACL-Catalog/blob/master/shacl-catalog.ttl" rel="nofollow">https://github.com/sparna-git/SHACL-Catalog/blob/master/shacl-catalog.ttl</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Nicolas Figay</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-21672</link>
		<dc:creator><![CDATA[Nicolas Figay]]></dc:creator>
		<pubDate>Thu, 16 Apr 2020 06:14:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-21672</guid>
		<description><![CDATA[Je rejoins Antoine Zimmerman sur la complémentarité de OWL et SHACL.
Le problème avec OWL, c&#039;est le mauvais usage qui en est fait quand on veut valider ou contraindre des données. Les contraintes en OWL vise à définir la sémantique (un parent est une personne qui à au moins un enfant) et non à contraindre le contenu d&#039;une base de donnée (il faut absolument renseigner les enfants  pour toute personne indiquée comme parent dans la base de données des allocataires de la CAF). OWL peut apporter tant pour la phase de conceptualisation d&#039;un application faisant partie du système d&#039;information (communication s&#039;appuyant sur un langage partagé interprétable précisément -&gt; qualité de la communication) que pour l&#039;agrégation sémantique (on revient au sens de données afin de les interpréter correctement avant de les lier en établissant de liens implicites par le moyen des moteurs d&#039;inférence à partir de règles déclaratives, ce qui est bien plus simple, bien plus sur et donc moins couteux que de la faire de manière procédurale).
Bienvenue à SHACL donc, qui contribue à des besoins qui ne sont pas dans le périmètre de OWL. Ne pas hésitez à redécouvrir OWL et à faire l&#039;effort de comprendre l&#039;usage qui peut en être fait pour apporter de la valeur à l&#039;entreprise pour améliorer l&#039;interprétation des données et la communication.]]></description>
		<content:encoded><![CDATA[<p>Je rejoins Antoine Zimmerman sur la complémentarité de OWL et SHACL.<br />
Le problème avec OWL, c&rsquo;est le mauvais usage qui en est fait quand on veut valider ou contraindre des données. Les contraintes en OWL vise à définir la sémantique (un parent est une personne qui à au moins un enfant) et non à contraindre le contenu d&rsquo;une base de donnée (il faut absolument renseigner les enfants  pour toute personne indiquée comme parent dans la base de données des allocataires de la CAF). OWL peut apporter tant pour la phase de conceptualisation d&rsquo;un application faisant partie du système d&rsquo;information (communication s&rsquo;appuyant sur un langage partagé interprétable précisément -&gt; qualité de la communication) que pour l&rsquo;agrégation sémantique (on revient au sens de données afin de les interpréter correctement avant de les lier en établissant de liens implicites par le moyen des moteurs d&rsquo;inférence à partir de règles déclaratives, ce qui est bien plus simple, bien plus sur et donc moins couteux que de la faire de manière procédurale).<br />
Bienvenue à SHACL donc, qui contribue à des besoins qui ne sont pas dans le périmètre de OWL. Ne pas hésitez à redécouvrir OWL et à faire l&rsquo;effort de comprendre l&rsquo;usage qui peut en être fait pour apporter de la valeur à l&rsquo;entreprise pour améliorer l&rsquo;interprétation des données et la communication.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Bernard Vatant</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-14140</link>
		<dc:creator><![CDATA[Bernard Vatant]]></dc:creator>
		<pubDate>Wed, 26 Apr 2017 21:00:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-14140</guid>
		<description><![CDATA[Si seulement SHACL avait été finalisé avant que ne prenne ma retraite ... c&#039;est un outil attendu depuis 15 ans, vous allez enfin pouvoir travailler sérieusement :)]]></description>
		<content:encoded><![CDATA[<p>Si seulement SHACL avait été finalisé avant que ne prenne ma retraite &#8230; c&rsquo;est un outil attendu depuis 15 ans, vous allez enfin pouvoir travailler sérieusement <img src="https://blog.sparna.fr/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Cyril Francois</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-14117</link>
		<dc:creator><![CDATA[Cyril Francois]]></dc:creator>
		<pubDate>Sat, 22 Apr 2017 10:42:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-14117</guid>
		<description><![CDATA[Je trouve SHACL bienvenu. Je travaille avec OWL pour définir exactement ce qu&#039;est la donnée par les classes et comment une donnée s&#039;articule autres classes. OWL est essentiel pour mes requêtes et vérifier la cohérence du Graph, ou pour assigner une classe à une donnée orpheline de classe (on est jamais à l&#039;abris d&#039;une erreur). Ici, OWL a tout son intérêt.

Cependant, les utilisateurs de mes outils sont complètement perdus sans une interface de type formulaire. Avec SHACL, on va pouvoir générer facilement une interface de formulaires automatique. En gros, plus besoin de parler d&#039;ontologie à nos chers utilisateurs. C&#039;est un bien pour eux, et pour nous. C&#039;est un mal, car le temps passer au développement d&#039;une ontologie sera encore moins bien compris par les utilisateurs des plateformes.]]></description>
		<content:encoded><![CDATA[<p>Je trouve SHACL bienvenu. Je travaille avec OWL pour définir exactement ce qu&rsquo;est la donnée par les classes et comment une donnée s&rsquo;articule autres classes. OWL est essentiel pour mes requêtes et vérifier la cohérence du Graph, ou pour assigner une classe à une donnée orpheline de classe (on est jamais à l&rsquo;abris d&rsquo;une erreur). Ici, OWL a tout son intérêt.</p>
<p>Cependant, les utilisateurs de mes outils sont complètement perdus sans une interface de type formulaire. Avec SHACL, on va pouvoir générer facilement une interface de formulaires automatique. En gros, plus besoin de parler d&rsquo;ontologie à nos chers utilisateurs. C&rsquo;est un bien pour eux, et pour nous. C&rsquo;est un mal, car le temps passer au développement d&rsquo;une ontologie sera encore moins bien compris par les utilisateurs des plateformes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Thomas Francart</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13885</link>
		<dc:creator><![CDATA[Thomas Francart]]></dc:creator>
		<pubDate>Thu, 02 Mar 2017 08:08:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13885</guid>
		<description><![CDATA[Pour ceux qui voudraient s&#039;essayer à SHACL, il y a maintenant un &quot;bac à sable&quot; : http://shacl.org/playground/]]></description>
		<content:encoded><![CDATA[<p>Pour ceux qui voudraient s&rsquo;essayer à SHACL, il y a maintenant un &laquo;&nbsp;bac à sable&nbsp;&raquo; : <a href="http://shacl.org/playground/" rel="nofollow">http://shacl.org/playground/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Créer des référentiels SKOS/RDF à partir d&#039;Excel - Sparna Blog</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13673</link>
		<dc:creator><![CDATA[Créer des référentiels SKOS/RDF à partir d&#039;Excel - Sparna Blog]]></dc:creator>
		<pubDate>Thu, 12 Jan 2017 15:03:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13673</guid>
		<description><![CDATA[[&#8230;] Le convertisseur a été éprouvé dans plusieurs projets en production pour la génération de référentiels d&#8217;autorité (personnes, organisations, status, etc.), de concepts SKOS enrichis avec des métadonnées d&#8217;autres vocabulaires, et de configuration de Shapes en SHACL. [&#8230;]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] Le convertisseur a été éprouvé dans plusieurs projets en production pour la génération de référentiels d&rsquo;autorité (personnes, organisations, status, etc.), de concepts SKOS enrichis avec des métadonnées d&rsquo;autres vocabulaires, et de configuration de Shapes en SHACL. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : thomas</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13663</link>
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Sat, 07 Jan 2017 07:53:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13663</guid>
		<description><![CDATA[&lt;blockquote&gt;Justement, le lien de sous-classe, c’est l’ontologie. Et il faut un raisonneur pour l’exploiter&lt;/blockquote&gt;

Mon point est que dans beaucoup des projets que je vois, l&#039;objectif d&#039;utilisation des technologies du web de données est un objectif de reprise/nettoyage/aggrégation/éventuellement alignement/fusion/publication de données; et est moins un objectif de modélisation d&#039;un domaine de connaissances. Donc l&#039;utilisation d&#039;un raisonneur ne se justifie que rarement dans ce type de projet (mais je ne dis pas que ce n&#039;est pas justifié dans d&#039;autre cas).

&lt;blockquote&gt;si l’ontologie n’est qu’une hiérarchie de sous-classes, pas la peine d’utiliser un raisonneur OWL mais il faut quand même implémenter la transitivité de la relation de sous-classe qui est propre à la sémantique de rdfs:subClassOf et non à la spec de SHACL&lt;/blockquote&gt;

La transitivité de la relation rdfs:subClassOf est prise en compte dans la spec SHACL directement et ne nécessite pas l&#039;utilisation d&#039;un raisonneur; voir la définition de &lt;a href=&quot;https://w3c.github.io/data-shapes/shacl/#dfn-shacl-types&quot; rel=&quot;nofollow&quot;&gt;SHACL type&lt;/a&gt; et &lt;a href=&quot;https://w3c.github.io/data-shapes/shacl/#dfn-shacl-instance&quot; rel=&quot;nofollow&quot;&gt;SHACL instance&lt;/a&gt;. Donc pour des ontologies simples qui ne reclassifient pas les instances sur la base de règles (&quot;defined classes&quot;), pas besoin de raisonneur pour faire une validation avec SHACL (il me semble).

&lt;blockquote&gt;L’idéal, pour une application plus complexe et riche, c’est de combiner SHACL et OWL (ou éventuellement un autre langage d’ontologies/de règles).&lt;/blockquote&gt;

Tout à fait.]]></description>
		<content:encoded><![CDATA[<blockquote><p>Justement, le lien de sous-classe, c’est l’ontologie. Et il faut un raisonneur pour l’exploiter</p></blockquote>
<p>Mon point est que dans beaucoup des projets que je vois, l&rsquo;objectif d&rsquo;utilisation des technologies du web de données est un objectif de reprise/nettoyage/aggrégation/éventuellement alignement/fusion/publication de données; et est moins un objectif de modélisation d&rsquo;un domaine de connaissances. Donc l&rsquo;utilisation d&rsquo;un raisonneur ne se justifie que rarement dans ce type de projet (mais je ne dis pas que ce n&rsquo;est pas justifié dans d&rsquo;autre cas).</p>
<blockquote><p>si l’ontologie n’est qu’une hiérarchie de sous-classes, pas la peine d’utiliser un raisonneur OWL mais il faut quand même implémenter la transitivité de la relation de sous-classe qui est propre à la sémantique de rdfs:subClassOf et non à la spec de SHACL</p></blockquote>
<p>La transitivité de la relation rdfs:subClassOf est prise en compte dans la spec SHACL directement et ne nécessite pas l&rsquo;utilisation d&rsquo;un raisonneur; voir la définition de <a href="https://w3c.github.io/data-shapes/shacl/#dfn-shacl-types" rel="nofollow">SHACL type</a> et <a href="https://w3c.github.io/data-shapes/shacl/#dfn-shacl-instance" rel="nofollow">SHACL instance</a>. Donc pour des ontologies simples qui ne reclassifient pas les instances sur la base de règles (&laquo;&nbsp;defined classes&nbsp;&raquo;), pas besoin de raisonneur pour faire une validation avec SHACL (il me semble).</p>
<blockquote><p>L’idéal, pour une application plus complexe et riche, c’est de combiner SHACL et OWL (ou éventuellement un autre langage d’ontologies/de règles).</p></blockquote>
<p>Tout à fait.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Antoine Zimmermann</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13662</link>
		<dc:creator><![CDATA[Antoine Zimmermann]]></dc:creator>
		<pubDate>Fri, 06 Jan 2017 19:30:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13662</guid>
		<description><![CDATA[&quot;directement ou par un lien de sous-classe&quot; . Justement, le lien de sous-classe, c&#039;est l&#039;ontologie. Et il faut un raisonneur pour l&#039;exploiter. Évidemment, si l&#039;ontologie n&#039;est qu&#039;une hiérarchie de sous-classes, pas la peine d&#039;utiliser un raisonneur OWL mais il faut quand même implémenter la transitivité de la relation de sous-classe qui est propre à la sémantique de rdfs:subClassOf et non à la spec de SHACL. Mais si l&#039;ontologie est plus expressive, implémenter le petit exemple que j&#039;ai donné avec SHACL + du code nécessite de coder toutes les règles de raisonnement nécessaire à cette ontologie. L&#039;idéal, pour une application plus complexe et riche, c&#039;est de combiner SHACL et OWL (ou éventuellement un autre langage d&#039;ontologies/de règles).]]></description>
		<content:encoded><![CDATA[<p>&laquo;&nbsp;directement ou par un lien de sous-classe&nbsp;&raquo; . Justement, le lien de sous-classe, c&rsquo;est l&rsquo;ontologie. Et il faut un raisonneur pour l&rsquo;exploiter. Évidemment, si l&rsquo;ontologie n&rsquo;est qu&rsquo;une hiérarchie de sous-classes, pas la peine d&rsquo;utiliser un raisonneur OWL mais il faut quand même implémenter la transitivité de la relation de sous-classe qui est propre à la sémantique de rdfs:subClassOf et non à la spec de SHACL. Mais si l&rsquo;ontologie est plus expressive, implémenter le petit exemple que j&rsquo;ai donné avec SHACL + du code nécessite de coder toutes les règles de raisonnement nécessaire à cette ontologie. L&rsquo;idéal, pour une application plus complexe et riche, c&rsquo;est de combiner SHACL et OWL (ou éventuellement un autre langage d&rsquo;ontologies/de règles).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : thomas</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13660</link>
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Fri, 06 Jan 2017 15:20:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13660</guid>
		<description><![CDATA[Merci pour cet apport de nuances. Je te rejoins effectivement sur la complémentarité entre OWL et SHACL, et on aura sans doute besoin des 2, même si pour moi la distinction entre ce que l&#039;on met dans l&#039;ontologie et ce que l&#039;on met dans les contraintes est encore floue (et peut-être qu&#039;on y mettra un peu la même chose d&#039;ailleurs). Et je continuerai à faire des ontologies, pas de soucis là-dessus.

&lt;blockquote&gt;Si mon application évolue dans un environnement ouvert, décentralisé et hétérogène, j’ai besoin de la souplesse de OWL. Si j’ai un système qui gère de la données, j’ai besoin de contrôle.&lt;/blockquote&gt;

Le fond de mon billet était bien que jusqu&#039;à présent, si j&#039;avais un système qui gérait de la donnée (RDF), je n&#039;avais rien (dans les standards W3C) pour faire du contrôle.

&lt;blockquote&gt;Au passage, on peut exprimer des contraintes de validation avec [OWL + un raisonneur + un peu de code] que SHACL ne suffit pas à exprimer. Par exemple, je souhaite n’autoriser le triplet X a_pour_auteur Y que si je sais que X est un document. Le raisonneur et son ontologie me diront si on peut inférer que X est un document, et si ce n’est pas le cas, je refuse le triplet.&lt;/blockquote&gt;

Le triplet [OWL + un raisonneur + un peu de code] peut être parfois suffisamment compliqué à mettre en oeuvre pour limiter cette possibilité. Et il me semble que SHACL est tout à fait capable d&#039;exprimer la contrainte que tu donnes en exemple :

&lt;code&gt;ex:a_pour_auteur_Shape a sh:Shape ;
	sh:subjectsTargetOf ex:a_pour_auteur ;
	sh:class ex:Document .&lt;/code&gt;

&quot;Pour tout sujet de la propriété a_pour_auteur, je vérifie que son type est ex:Document (directement ou par un lien de sous-classe)&quot;.]]></description>
		<content:encoded><![CDATA[<p>Merci pour cet apport de nuances. Je te rejoins effectivement sur la complémentarité entre OWL et SHACL, et on aura sans doute besoin des 2, même si pour moi la distinction entre ce que l&rsquo;on met dans l&rsquo;ontologie et ce que l&rsquo;on met dans les contraintes est encore floue (et peut-être qu&rsquo;on y mettra un peu la même chose d&rsquo;ailleurs). Et je continuerai à faire des ontologies, pas de soucis là-dessus.</p>
<blockquote><p>Si mon application évolue dans un environnement ouvert, décentralisé et hétérogène, j’ai besoin de la souplesse de OWL. Si j’ai un système qui gère de la données, j’ai besoin de contrôle.</p></blockquote>
<p>Le fond de mon billet était bien que jusqu&rsquo;à présent, si j&rsquo;avais un système qui gérait de la donnée (RDF), je n&rsquo;avais rien (dans les standards W3C) pour faire du contrôle.</p>
<blockquote><p>Au passage, on peut exprimer des contraintes de validation avec [OWL + un raisonneur + un peu de code] que SHACL ne suffit pas à exprimer. Par exemple, je souhaite n’autoriser le triplet X a_pour_auteur Y que si je sais que X est un document. Le raisonneur et son ontologie me diront si on peut inférer que X est un document, et si ce n’est pas le cas, je refuse le triplet.</p></blockquote>
<p>Le triplet [OWL + un raisonneur + un peu de code] peut être parfois suffisamment compliqué à mettre en oeuvre pour limiter cette possibilité. Et il me semble que SHACL est tout à fait capable d&rsquo;exprimer la contrainte que tu donnes en exemple :</p>
<p><code>ex:a_pour_auteur_Shape a sh:Shape ;<br />
	sh:subjectsTargetOf ex:a_pour_auteur ;<br />
	sh:class ex:Document .</code></p>
<p>&laquo;&nbsp;Pour tout sujet de la propriété a_pour_auteur, je vérifie que son type est ex:Document (directement ou par un lien de sous-classe)&nbsp;&raquo;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Antoine Zimmermann</title>
		<link>https://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comment-13658</link>
		<dc:creator><![CDATA[Antoine Zimmermann]]></dc:creator>
		<pubDate>Fri, 06 Jan 2017 14:46:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sparna.fr/?p=1065#comment-13658</guid>
		<description><![CDATA[L&#039;opposition que  tu fais entre OWL et SHACL est quelque peu inappropriée à mon avis. Pour faire simple :

SHACL permet le contrôle.
OWL permet la souplesse.

Si mon application évolue dans un environnement ouvert, décentralisé et hétérogène, j&#039;ai besoin de la souplesse de OWL. Si j&#039;ai un système qui gère de la données, j&#039;ai besoin de contrôle. Les deux se complètent bien.

Si j&#039;ai  X a pour auteur Y, ou bien X est un livre, je m&#039;attends à ce qu&#039;on me présente X quand je demande tous les documents. Je veux un truc qui exprime que le domain de &quot;a pour auteur&quot; est &quot;document&quot;, et la classe des livres est une sous-classes de &quot;document&quot;. Je le veux au sens de OWL.

Cela n&#039;empêche pas d&#039;utiliser également une vérification SHACL qui dit que si je trouve des descriptions de bouquins, je ne les traite (p.ex., ne les enregistre dans ma base de données RDF) que si chaque bouquin a la propriété my:isbn explicitement et non pas your:isbn, même si peut-être selon toi, your:isbn est équivalent à my:isbn.

Au passage, on peut exprimer des contraintes de validation avec [OWL + un raisonneur + un peu de code] que SHACL ne suffit pas à exprimer. Par exemple, je souhaite n&#039;autoriser le triplet X a_pour_auteur Y que si je sais que X est un document. Le raisonneur et son ontologie me diront si on peut inférer que X est un document, et si ce n&#039;est pas le cas, je refuse le triplet.

L&#039;intérêt de SHACL est qu&#039;il permet de séparer les préoccupations en externalisant dans une représentation concise et déclarative tout ce qui concerne la validation de données.

Notons aussi que OWL n&#039;est pas le seul langage de représentation de connaissances pour RDF. On peut faire une ontologie sous forme de règles SWRL, RIF, SPIN, SPARQL construct, Jena rules, voire combiner tout ça.]]></description>
		<content:encoded><![CDATA[<p>L&rsquo;opposition que  tu fais entre OWL et SHACL est quelque peu inappropriée à mon avis. Pour faire simple :</p>
<p>SHACL permet le contrôle.<br />
OWL permet la souplesse.</p>
<p>Si mon application évolue dans un environnement ouvert, décentralisé et hétérogène, j&rsquo;ai besoin de la souplesse de OWL. Si j&rsquo;ai un système qui gère de la données, j&rsquo;ai besoin de contrôle. Les deux se complètent bien.</p>
<p>Si j&rsquo;ai  X a pour auteur Y, ou bien X est un livre, je m&rsquo;attends à ce qu&rsquo;on me présente X quand je demande tous les documents. Je veux un truc qui exprime que le domain de &laquo;&nbsp;a pour auteur&nbsp;&raquo; est &laquo;&nbsp;document&nbsp;&raquo;, et la classe des livres est une sous-classes de &laquo;&nbsp;document&nbsp;&raquo;. Je le veux au sens de OWL.</p>
<p>Cela n&rsquo;empêche pas d&rsquo;utiliser également une vérification SHACL qui dit que si je trouve des descriptions de bouquins, je ne les traite (p.ex., ne les enregistre dans ma base de données RDF) que si chaque bouquin a la propriété my:isbn explicitement et non pas your:isbn, même si peut-être selon toi, your:isbn est équivalent à my:isbn.</p>
<p>Au passage, on peut exprimer des contraintes de validation avec [OWL + un raisonneur + un peu de code] que SHACL ne suffit pas à exprimer. Par exemple, je souhaite n&rsquo;autoriser le triplet X a_pour_auteur Y que si je sais que X est un document. Le raisonneur et son ontologie me diront si on peut inférer que X est un document, et si ce n&rsquo;est pas le cas, je refuse le triplet.</p>
<p>L&rsquo;intérêt de SHACL est qu&rsquo;il permet de séparer les préoccupations en externalisant dans une représentation concise et déclarative tout ce qui concerne la validation de données.</p>
<p>Notons aussi que OWL n&rsquo;est pas le seul langage de représentation de connaissances pour RDF. On peut faire une ontologie sous forme de règles SWRL, RIF, SPIN, SPARQL construct, Jena rules, voire combiner tout ça.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
