From c2f7b474376db4be3abc0f539e1cd7bad728be30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Wed, 3 Sep 2014 11:58:53 +0000 Subject: [PATCH] - documented Linkkeys --- html/edoal.html | 97 +++++++++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 39 deletions(-) diff --git a/html/edoal.html b/html/edoal.html index 6a45216c..301763f0 100644 --- a/html/edoal.html +++ b/html/edoal.html @@ -330,7 +330,8 @@ Value implements <i>ValueExpression</i> Apply implements <i>ValueExpression</i> Transformation Linkkey -Corresp +Equals +Includes TransfService implements <i>Clonable</i> <a href="sec:patterns">Variable</a> Comparator @@ -846,13 +847,15 @@ Linkkeys which are a generalisation to several data sets of keys in relational databases. A linkkey is a statement such as: <center> -( {⟨<i>p</i><sub>1</sub>, <i>q</i><sub>1</sub>⟩,... ⟨<i>p</i><sub><i>n</i></sub>,<i>q</i><sub><i>n</i></sub>⟩} linkkey ⟨<i>c</i>, <i>d</i>⟩ ) +( {⟨<i>p</i><sub>1</sub>, <i>q</i><sub>1</sub>⟩,... ⟨<i>p</i><sub><i>n</i></sub>,<i>q</i><sub><i>n</i></sub>⟩}{⟨<i>p'</i><sub>1</sub>, <i>q'</i><sub>1</sub>⟩,... ⟨<i>p'</i><sub><i>m</i></sub>,<i>q'</i><sub><i>m</i></sub>⟩} linkkey ⟨<i>c</i>, <i>d</i>⟩ ) </center> stating that whatever an instance of the class <i>c</i> has the same values for properties <i>p</i><sub>1</sub>,... <i>p</i><sub><i>n</i></sub> as an instance of class <i>d</i> has for -properties <i>q</i><sub>1</sub>,... <i>q</i><sub><i>n</i></sub>, then +properties <i>q</i><sub>1</sub>,... <i>q</i><sub><i>n</i></sub> and +that their values for respectively <i>p'</i><sub>1</sub>,... <i>p'</i><sub><i>m</i></sub> +and <i>q'</i><sub>1</sub>,... <i>q'</i><sub><i>m</i></sub> instersect pairwise, then these two are the same entity. </p> <p> @@ -860,22 +863,24 @@ Such keys are slightly more complex than in databases because in RDF properties are not necessarily functional (they may have several values) and their values may be other objects. For this reason, it is necessary to indicate if it is required that all values must be the same -(eq) or if some of them must be the same (in). +(Equals) or if some of them must instersect (Intersects). </p> </p> <p> <div class="grammar"> -<u>linkkey</u> ::= <Linkkey {edoal:type=" <u>STRING</u> ">} +<u>linkkey</u> ::= <Linkkey> (<binding> <u>bindspec</u> <binding/>)* </Linkkey> -<i>with</i> <u>STRING</u> ::= 'weak' | 'plain' (default) | 'strong' -<u>bindspec</u> ::= <Corresp edoal:type=" <u>STRING</u> "> - <entity1> <u>entity</u> </entity1> - <entity2> <u>entity</u> </entity2> - </Corresp> -<i>with</i> <u>STRING</u> ::= 'in' | 'eq' +<u>bindspec</u> ::= <Equals> + <property1> <u>attexpr</u> </property1> + <property2> <u>attexpr</u> </property2> + </Equals> + | <Intersects> + <property1> <u>attexpr</u> </property1> + <property2> <u>attexpr</u> </property2> + </Intersects> </div> </p> <p> @@ -886,25 +891,30 @@ properties <i>auteur</i> and <i>titre</i> on the one side and <i>creator</i> and <i>title</i> on the other side have the same values. This is expressed in the following example: <div class="rdfxmlDiv"> -The following correspondence shows an example of the use of data transformation: <div class="rdfxml">RDF/XML Syntax</div> <div class="rdfxml"> - <linkkey> - <Linkkey edoal:type="plain"> - <binding> - <Corresp edoal:type="in"> - <entity1><Relation rdf:about="auteur" /></entity1> - <entity2><Relation rdf:about="creator" /></entity2> - </Corresp> - </binding> - <binding> - <Corresp edoal:type="eq"> - <entity1><Property rdf:about="titre" /></entity1> - <entity2><Property rdf:about="title" /></entity2> - </Corresp> - </binding> - </Linkkey> - </linkkey> +<align:Cell rdf:about="#cell-with-linkkey"> + <align:entity1><Class rdf:about="Livre" /></align:entity1> + <align:entity2><Class rdf:about="Novel" /></align:entity2> + <align:relation>=</align:relation> + <linkkey> + <Linkkey> + <lk:type>plain</lk:type> + <binding> + <Intersects> + <property1><Relation rdf:about="auteur" /></property1> + <property2><Relation rdf:about="creator" /></property2> + </Intersects> + </binding> + <binding> + <Equals> + <property1><Property rdf:about="titre" /></property1> + <property2><Property rdf:about="title" /></property2> + </Equals> + </binding> + </Linkkey> + </linkkey> +</align:Cell> </div></div> </p> <p> @@ -1592,7 +1602,7 @@ the EDOAL API requires complete knowledge of the alignment. <dl> <dt>URI</dt><dd><a href="#Linkkey">http://ns.inria.org/edoal/1.0/#Linkkey</a></dd> <!--dt>superclasses</dt><dd><a href="#Value">Value</a></dd--> -<dt>properties</dt><dd><a href="#type">type</a>, <a href="#binding">binding</a></dd> +<dt>properties</dt><dd><a href="#binding">binding</a></dd> <dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> </dl> </div> @@ -1603,35 +1613,44 @@ the EDOAL API requires complete knowledge of the alignment. <dt>URI</dt><dd><a href="#binding">http://ns.inria.org/edoal/1.0/#binding</a></dd> <!--dt>superclasses</dt><dd><a href="#Value">Value</a></dd--> <dt>domain</dt><dd><a href="#Linkkey">Linkkey</a></dd> -<dt>range</dt><dd><a href="#Corresp">Corresp</a></dd> +<dt>range</dt><dd><a href="#Equals">Equals</a>, <a href="#Intersects">Intersects</a></dd> +<dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> +</dl> +</div> + +<div class="vocab"> +<h3>Class: <a name="Equals">Equals</a></h3> +<dl> +<dt>URI</dt><dd><a href="#Equals">http://ns.inria.org/edoal/1.0/#Equals</a></dd> +<dt>properties</dt><dd><a href="#property1">property1</a>, <a href="#property2">property2</a></dd> <dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> </dl> </div> <div class="vocab"> -<h3>Class: <a name="Corresp">Corresp</a></h3> +<h3>Class: <a name="Intersects">Intersects</a></h3> <dl> -<dt>URI</dt><dd><a href="#Corresp">http://ns.inria.org/edoal/1.0/#Corresp</a></dd> -<dt>properties</dt><dd><a href="#type">type</a>, <a href="#entity1">entity1</a>, <a href="#entity2">entity2</a></dd> +<dt>URI</dt><dd><a href="#Intersects">http://ns.inria.org/edoal/1.0/#Intersects</a></dd> +<dt>properties</dt><dd><a href="#property1">property1</a>, <a href="#property2">property2</a></dd> <dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> </dl> </div> <div class="vocab"> -<h3>Relation: <a name="entity1">entity1</a></h3> +<h3>Relation: <a name="property1">property1</a></h3> <dl> -<dt>URI</dt><dd><a href="#entity1">http://ns.inria.org/edoal/1.0/#entity1</a></dd> -<dt>domain</dt><dd><a href="#Corresp">Corresp</a></dd> +<dt>URI</dt><dd><a href="#property1">http://ns.inria.org/edoal/1.0/#property1</a></dd> +<dt>domain</dt><dd><a href="#Equals">Equals</a>, <a href="#Intersects">Intersects</a></dd> <dt>range</dt><dd><a href="#Attribute">Attribute</a></dd> <dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> </dl> </div> <div class="vocab"> -<h3>Relation: <a name="entity2">entity2</a></h3> +<h3>Relation: <a name="property2">property2</a></h3> <dl> -<dt>URI</dt><dd><a href="#entity1">http://ns.inria.org/edoal/1.0/#entity2</a></dd> -<dt>domain</dt><dd><a href="#Corresp">Corresp</a></dd> +<dt>URI</dt><dd><a href="#property2">http://ns.inria.org/edoal/1.0/#property2</a></dd> +<dt>domain</dt><dd><a href="#Equals">Equals</a>, <a href="#Intersects">Intersects</a></dd> <dt>range</dt><dd><a href="#Attribute">Attribute</a></dd> <dt>see also</dt><dd><a href="#ssec:linkkeys">Linkkey section</a></dd> </dl> -- GitLab