Lines 66-70 were replaced by lines 66-70 |
- <p> This pattern can be read as "For each unique x value of R create |
- an instance of C." In this example, the term "R.x" is a <em><a |
- href="#variable">resource variable</a></em>. Executing this pattern |
- results in the following document, assuming there are <em>n</em> |
- unique values of <code>x</code> in <code>R</code> <a |
+ This pattern can be read as "For each unique x value of R create |
+ an instance of C." In this example, the term "R.x" is a __<a |
+ href="#variable">resource variable</a>__. Executing this pattern |
+ results in the following document, assuming there are __n__ |
+ unique values of {{x}} in {{R}} <a |
Line 72 was replaced by line 72 |
- executing the pattern over <code>R</code>. |
+ executing the pattern over {{R}}. |
Lines 74-78 were replaced by lines 74-78 |
- <pre> |
- <rdf:RDF xmlns="local-ns" ...> |
- <owl:Ontology rdf:about=""> |
- <owl:imports rdf:resource="http://ontologies.org/ont"/> |
- </owl:Ontology> |
+ {{{ |
+ <rdf:RDF xmlns="local-ns" ...> |
+ <owl:Ontology rdf:about=""> |
+ <owl:imports rdf:resource="http://ontologies.org/ont"/> |
+ </owl:Ontology> |
Lines 80-81 were replaced by lines 80-81 |
- <ont:C rdf:ID="id-val1"/> |
- <ont:C rdf:ID="id-val2"/> |
+ <ont:C rdf:ID="id-val1"/> |
+ <ont:C rdf:ID="id-val2"/> |
Line 83 was replaced by line 83 |
- <ont:C rdf:ID="id-valn"/> |
+ <ont:C rdf:ID="id-valn"/> |
Lines 85-86 were replaced by lines 85-86 |
- </rdf:RDF> |
- </pre> |
+ </rdf:RDF> |
+ }}} |
Line 88 was replaced by line 88 |
- <p> Note that this document has a different namespace than the |
+ Note that this document has a different namespace than the |
Lines 96-97 were replaced by lines 96-97 |
- <p> We use rules expressed in first-order logic to formalize how |
- instantiation patterns should be interpreted <a href="#5">[5]</a>. For |
+ We use rules expressed in first-order logic to formalize how |
+ instantiation patterns should be interpreted[5]. For |
Line 100 was replaced by line 100 |
- <pre> |
+ {{{ |
Line 102 was replaced by line 102 |
- </pre> |
+ }}} |
Lines 104-105 were replaced by lines 104-105 |
- <p> Here, the predicate <code>triple</code> asserts an RDF triple |
- (with subject, property, value), and <code>id_p1</code> is a (Skolem) |
+ Here, the predicate {{triple}} asserts an RDF triple |
+ (with subject, property, value), and {{id_p1}} is a (Skolem) |
Lines 107-109 were replaced by lines 107-109 |
- <code>id_p1</code> is meant to apply only within this rule, where p1 |
- stands for "pattern 1." We say in this case that each <code>x</code> |
- value of <code>R</code> constitues a particular <code>C</code>. |
+ {{id_p1}} is meant to apply only within this rule, where p1 |
+ stands for "pattern 1." We say in this case that each {{x}} |
+ value of {{R}} constitues a particular {{C}}. |
Line 111 was replaced by line 111 |
- <p> There are a number of additional features of instantiation |
+ There are a number of additional features of instantiation |
Line 119 was replaced by line 119 |
- <h3>3.1 Individuals</h3> |
+ !!!3.1 Individuals |
Lines 121-129 were replaced by lines 121-125 |
- <p> <b>Iteration.</b> More than one variable can be given in a |
- <code>foreach</code> expression. For example, the following pattern |
- creates an instance of <code>C</code> for every unique pair of |
- <code>x</code> and <code>y</code> values occurring together in tuples |
- of <code>R</code>. |
- |
- <pre> |
- <individual type="ont:C" foreach="R.x, R.y"/> |
- </pre> |
+ __Iteration.__ More than one variable can be given in a |
+ {{foreach}} expression. For example, the following pattern |
+ creates an instance of {{C}} for every unique pair of |
+ {{x}} and {{y}} values occurring together in tuples |
+ of {{R}}. |
Line 131 was replaced by lines 127-131 |
- <p> This pattern can be read as "For each unique x, y (tuple) value |
+ {{{ |
+ <individual type="ont:C" foreach="R.x, R.y"/> |
+ }}} |
+ |
+ This pattern can be read as "For each unique x, y (tuple) value |
Line 135 was replaced by line 135 |
- <pre> |
+ {{{ |
Line 137 was replaced by line 137 |
- </pre> |
+ }}} |
Lines 139-140 were replaced by lines 139-140 |
- <p> In this example, we say that each <code>x,y</code> value |
- constitutes a particular <code>C</code>. |
+ In this example, we say that each {{x,y}} value |
+ constitutes a particular {{C}}. |
Line 142 was replaced by line 142 |
- <p> Resource labels (such as <code>R</code>) in annotations are used |
+ Resource labels (such as {{R}}) in annotations are used |
Lines 145-147 were replaced by lines 145-147 |
- resource in an annotation header. For example, if <code>R1</code> and |
- <code>R2</code> are both labels for the <code>Employee</code> |
- relation, the iteration expression "<code>R1.x, R2.x</code>" is |
+ resource in an annotation header. For example, if {{R1}} and |
+ {{R2}} are both labels for the {{Employee}} |
+ relation, the iteration expression "{{R1.x, R2.x}}" is |
Line 150 was replaced by line 150 |
- <pre> |
+ {{{ |
Line 153 was replaced by line 153 |
- </pre> |
+ }}} |
Lines 155-156 were replaced by lines 155-156 |
- <p> In a similar way, one can view <code>foreach</code> expressions as |
- group constructors, similar to the <code>GROUP BY</code> clause in |
+ In a similar way, one can view {{foreach}} expressions as |
+ group constructors, similar to the {{GROUP BY}} clause in |
Line 159 was replaced by line 159 |
- <p> <b>Conditions.</b> Conditions can be added to restrict the |
+ __Conditions.__ Conditions can be added to restrict the |
Lines 161-162 were replaced by lines 161-162 |
- the creation of <code>C</code> instances based on positive values of |
- <code>x</code>. |
+ the creation of {{C}} instances based on positive values of |
+ {{x}}. |
Lines 164-166 were replaced by lines 164-166 |
- <pre> |
- <individual type="ont:C" foreach="R.x, R.y" if="R.x>0"/> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x, R.y" if="R.x>0"/> |
+ }}} |
Line 168 was replaced by line 168 |
- <p> This pattern can be read as "For each unique x, y (tuple) value |
+ This pattern can be read as "For each unique x, y (tuple) value |
Line 172 was replaced by line 172 |
- <pre> |
+ {{{ |
Line 174 was replaced by line 174 |
- </pre> |
+ }}} |
Lines 176-181 were replaced by lines 176-181 |
- <p> In general, conditions are Boolean expressions of the form |
- <code>term op term</code>, where a <code>term</code> is a constant or |
- variable (such as <code>R.x</code> or the value <code>5</code>), and |
- <code>op</code> is a Boolean operator such as <code><</code>, |
- <code>></code>, <code><=</code>, <code>>=</code>, or |
- <code>=</code>. |
+ In general, conditions are Boolean expressions of the form |
+ {{term op term}}, where a {{term}} is a constant or |
+ variable (such as {{R.x}} or the value {{5}}), and |
+ {{op}} is a Boolean operator such as {{<}}, |
+ {{>}}, {{<=}}, {{>=}}, or |
+ {{=}}. |
Line 183 was replaced by line 183 |
- <p> As with <code>foreach</code> expressions, <code>if</code> |
+ As with {{foreach}} expressions, {{if}} |
Lines 186-187 were replaced by lines 186-187 |
- variables that are outside the condition's <em><a |
- href="#context">iteration context</a></em>, i.e., the set of variables |
+ variables that are outside the condition's __<a |
+ href="#context">iteration context</a>__, i.e., the set of variables |
Lines 189-190 were replaced by lines 189-190 |
- corresponding <code>foreach</code> expression. Note that any given |
- binding of <code>foreach</code> variables may have many associated |
+ corresponding {{foreach}} expression. Note that any given |
+ binding of {{foreach}} variables may have many associated |
Lines 192-193 were replaced by lines 192-193 |
- <code>if</code> expression is satisfied whenever the condition is true |
- for any one of these values (i.e., similar to the <code>ANY</code> |
+ {{if}} expression is satisfied whenever the condition is true |
+ for any one of these values (i.e., similar to the {{ANY}} |
Line 198 was replaced by line 198 |
- <h3>3.2 Object Properties</h3> |
+ !!!3.2 Object Properties |
Line 200 was replaced by line 200 |
- <p> A <code>property</code> expression assigns OWL properties to |
+ A {{property}} expression assigns OWL properties to |
Lines 202-203 were replaced by lines 202-203 |
- example, the following pattern creates instances of <code>C</code> |
- containing properties <code>P</code>: |
+ example, the following pattern creates instances of {{C}} |
+ containing properties {{P}}: |
Lines 205-209 were replaced by lines 205-209 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" valuetype="ont:D"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" valuetype="ont:D"/> |
+ </individual> |
+ }}} |
Line 211 was replaced by line 211 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ This pattern can be read as "For each unique x value of R, create |
Line 214 was replaced by line 214 |
- <em>n</em> unique values of <code>x</code> in <code>R</code> <a |
+ __n__ unique values of {{x}} in {{R}} <a |
Lines 217-227 were replaced by lines 217-227 |
- <pre> |
- <rdf:RDF xmlns="local-ns" ...> |
- <owl:Ontology rdf:about=""> |
- <owl:imports rdf:resource="htt://ontologies.org/ont"/> |
- </owl:Ontology> |
- |
- <ont:C rdf:ID="id-val1"> |
- <ont:P> |
- <ont:D/> |
- </ont:P> |
- </ont:C> |
+ {{{ |
+ <rdf:RDF xmlns="local-ns" ...> |
+ <owl:Ontology rdf:about=""> |
+ <owl:imports rdf:resource="htt://ontologies.org/ont"/> |
+ </owl:Ontology> |
+ |
+ <ont:C rdf:ID="id-val1"> |
+ <ont:P> |
+ <ont:D/> |
+ </ont:P> |
+ </ont:C> |
Lines 229-233 were replaced by lines 229-233 |
- <ont:C rdf:ID="id-valn"> |
- <ont:P> |
- <ont:D/> |
- </ont:P> |
- </ont:C> |
+ <ont:C rdf:ID="id-valn"> |
+ <ont:P> |
+ <ont:D/> |
+ </ont:P> |
+ </ont:C> |
Lines 235-236 were replaced by lines 235-236 |
- </rdf:RDF> |
- </pre> |
+ </rdf:RDF> |
+ }}} |
Line 238 was replaced by line 238 |
- <p> The first-order rule for this pattern is: |
+ The first-order rule for this pattern is: |
Line 240 was replaced by line 240 |
- <pre> |
+ {{{ |
Line 244 was replaced by line 244 |
- </pre> |
+ }}} |
Line 246 was replaced by line 246 |
- <p> Note that in this rule, <code>v</code> is existentially |
+ Note that in this rule, {{v}} is existentially |
Lines 249-250 were replaced by lines 249-250 |
- function over <code>x</code> values (similar to <code>id_p4</code>) |
- for generating the appropriate <code>D</code> identifiers. |
+ function over {{x}} values (similar to {{id_p4}}) |
+ for generating the appropriate {{D}} identifiers. |
Line 252 was replaced by line 252 |
- <p> <b>Nested Properties.</b> Property expressions corresponding to |
+ __Nested Properties.__ Property expressions corresponding to |
Line 255 was replaced by line 255 |
- <code>D</code> instances above with <code>Q</code> properties: |
+ {{D}} instances above with {{Q}} properties: |
Lines 257-263 were replaced by lines 257-263 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" valuetype="ont:D"> |
- <property type="ont:Q" valuetype="ont:E"/> |
- </property> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" valuetype="ont:D"> |
+ <property type="ont:Q" valuetype="ont:E"/> |
+ </property> |
+ </individual> |
+ }}} |
Line 265 was replaced by line 265 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ This pattern can be read as "For each unique x value of R, create |
Line 270 was replaced by line 270 |
- <pre> |
+ {{{ |
Line 276 was replaced by line 276 |
- </pre> |
+ }}} |
Line 278 was replaced by line 278 |
- <p> <b>Multiple Properties.</b> Individuals can be assigned more than |
+ __Multiple Properties.__ Individuals can be assigned more than |
Line 280 was replaced by line 280 |
- <code>P1</code> and <code>P2</code>. |
+ {{P1}} and {{P2}}. |
Lines 282-287 were replaced by lines 282-287 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P1" valuetype="ont:D1"/> |
- <property type="ont:P2" valuetype="ont:D2"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P1" valuetype="ont:D1"/> |
+ <property type="ont:P2" valuetype="ont:D2"/> |
+ </individual> |
+ }}} |
Line 290 was replaced by line 290 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ This pattern can be read as "For each unique x value of R, create |
Line 293 was replaced by line 293 |
- <pre> |
+ {{{ |
Line 299 was replaced by line 299 |
- </pre> |
+ }}} |
Lines 302-304 were replaced by lines 302-304 |
- <p> The general form of a pattern consists of an |
- <code>individual</code> expression, followed by any number of |
- (possibly nested) <code>property</code> expressions: |
+ The general form of a pattern consists of an |
+ {{individual}} expression, followed by any number of |
+ (possibly nested) {{property}} expressions: |
Lines 306-308 were replaced by lines 306-308 |
- <pre> |
- <individual type="..." foreach="..." if="..." ...> |
- <property type="..." ...> |
+ {{{ |
+ <individual type="..." foreach="..." if="..." ...> |
+ <property type="..." ...> |
Line 310 was replaced by line 310 |
- </property> |
+ </property> |
Lines 312-313 were replaced by lines 312-313 |
- </individual> |
- </pre> |
+ </individual> |
+ }}} |
Lines 315-316 were replaced by lines 315-316 |
- <p> The additional attributes of <code>individual</code> and |
- <code>property</code> statements are described further below (as well |
+ The additional attributes of {{individual}} and |
+ {{property}} statements are described further below (as well |
Line 319 was replaced by line 319 |
- <h3>3.3 Datatype Properties</h3> |
+ !!!3.3 Datatype Properties |
Line 321 was replaced by line 321 |
- <p> The examples so far assume the use of OWL object properties, whose |
+ The examples so far assume the use of OWL object properties, whose |
Lines 327-329 were replaced by lines 327-329 |
- <p> Datatype <code>property</code> statements use the attribute |
- <code>value</code> instead of <code>valuetype</code>. In general, a |
- <code>value</code> attribute is used to assign a specific data value |
+ Datatype {{property}} statements use the attribute |
+ {{value}} instead of {{valuetype}}. In general, a |
+ {{value}} attribute is used to assign a specific data value |
Lines 331-332 were replaced by lines 331-332 |
- <code>valuetype</code> attribute is used to give the type of the |
- individual linked to the property. Thus, <code>valuetype</code> |
+ {{valuetype}} attribute is used to give the type of the |
+ individual linked to the property. Thus, {{valuetype}} |
Lines 334-336 were replaced by lines 334-336 |
- <code>value</code> attributes can be used for assigning both object |
- and datatype properties. <code>Property</code> statements that use a |
- <code>value</code> attribute (for either an object or datatype |
+ {{value}} attributes can be used for assigning both object |
+ and datatype properties. {{Property}} statements that use a |
+ {{value}} attribute (for either an object or datatype |
Line 339 was replaced by line 339 |
- <p> <b>Constants.</b> One use of a datatype property annotation is for |
+ __Constants.__ One use of a datatype property annotation is for |
Lines 342-343 were replaced by lines 342-343 |
- property <code>P</code> with the value <code>5</code> to each |
- generated <code>C</code> instance. |
+ property {{P}} with the value {{5}} to each |
+ generated {{C}} instance. |
Lines 345-349 were replaced by lines 345-349 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" value="5"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" value="5"/> |
+ </individual> |
+ }}} |
Line 351 was replaced by line 351 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ This pattern can be read as "For each unique x value of R, create |
Line 355 was replaced by line 355 |
- <pre> |
+ {{{ |
Line 358 was replaced by line 358 |
- </pre> |
+ }}} |
Line 360 was replaced by line 360 |
- <p> <b>Resource Values.</b> Another common use of datatype property |
+ __Resource Values.__ Another common use of datatype property |
Lines 362-363 were replaced by lines 362-363 |
- the following pattern assigns each instance a property <code>P</code> |
- whose value is taken from the resource variable <code>x</code>. |
+ the following pattern assigns each instance a property {{P}} |
+ whose value is taken from the resource variable {{x}}. |
Lines 365-369 were replaced by lines 365-369 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" value="$R.x"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" value="$R.x"/> |
+ </individual> |
+ }}} |
Line 371 was replaced by line 371 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ This pattern can be read as "For each unique x value of R, create |
Line 377 was replaced by line 377 |
- <pre> |
+ {{{ |
Line 380 was replaced by line 380 |
- </pre> |
+ }}} |
Lines 382-383 were replaced by lines 382-383 |
- <p> Resource variables can be used outside of the current iteration |
- context (i.e., the enclosing <code>foreach</code> expression). In this |
+ Resource variables can be used outside of the current iteration |
+ context (i.e., the enclosing {{foreach}} expression). In this |
Lines 388-396 were replaced by lines 388-390 |
- assigns to each instance associated with <code>x</code>, a property |
- <code>P</code> for each of <code>x</code>'s corresponding |
- <code>y</code> values. |
- |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" value="$R.y"/> |
- </individual> |
- </pre> |
+ assigns to each instance associated with {{x}}, a property |
+ {{P}} for each of {{x}}'s corresponding |
+ {{y}} values. |
Line 398 was replaced by lines 392-398 |
- <p> This pattern can be read as "For each unique x value of R, create |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" value="$R.y"/> |
+ </individual> |
+ }}} |
+ |
+ This pattern can be read as "For each unique x value of R, create |
Line 400 was replaced by line 400 |
- value of x" <a href="#7">[7]</a>. The corresponding first-order rule for this pattern is: |
+ value of x"[7]. The corresponding first-order rule for this pattern is: |
Line 402 was replaced by line 402 |
- <pre> |
+ {{{ |
Line 405 was replaced by line 405 |
- </pre> |
+ }}} |
Lines 407-413 were replaced by lines 407-413 |
- <p> In this case, if a particular <code>x</code> value has multiple |
- <code>y</code> values, each such <code>y</code> value will result in a |
- <code>P</code> property. Note that if <code>x</code> and |
- <code>y</code> were not related, (e.g., if the expressions were |
- <code>R1.x</code> and <code>R2.y</code>, respectively), the result |
- would be a cross-product in which every <code>x</code> value would be |
- <code>P</code>-related to every <code>y</code> value. For example, the |
+ In this case, if a particular {{x}} value has multiple |
+ {{y}} values, each such {{y}} value will result in a |
+ {{P}} property. Note that if {{x}} and |
+ {{y}} were not related, (e.g., if the expressions were |
+ {{R1.x}} and {{R2.y}}, respectively), the result |
+ would be a cross-product in which every {{x}} value would be |
+ {{P}}-related to every {{y}} value. For example, the |
Lines 416-424 were replaced by lines 416-424 |
- <pre> |
- <individual type="ont:C" foreach="R1.x"> |
- <property type="ont:P" value="$R2.y"/> |
- </individual> |
- </pre> |
- |
- <p> corresponds to the following first-order rule, assuming |
- <code>R1</code> and <code>R2</code> both represent relation |
- <code>R</code>: |
+ {{{ |
+ <individual type="ont:C" foreach="R1.x"> |
+ <property type="ont:P" value="$R2.y"/> |
+ </individual> |
+ }}} |
+ |
+ corresponds to the following first-order rule, assuming |
+ {{R1}} and {{R2}} both represent relation |
+ {{R}}: |
Line 426 was replaced by line 426 |
- <pre> |
+ {{{ |
Line 429 was replaced by line 429 |
- </pre> |
+ }}} |
Line 432 was replaced by line 432 |
- <p> In an instantiation pattern, <code>value</code> expressions must |
+ In an instantiation pattern, {{value}} expressions must |
Line 434 was replaced by line 434 |
- useful to define functions for use in <code>value</code> expressions, |
+ useful to define functions for use in {{value}} expressions, |
Lines 437-440 were replaced by lines 437-440 |
- <p> <b>Conditional Properties.</b> A <code>property</code> statement |
- can be conditionally applied using an <code>if</code> expression. In |
- particular, the conditions of the <code>if</code> expression must hold |
- for the <code>property</code> to be added to the corresponding |
+ __Conditional Properties.__ A {{property}} statement |
+ can be conditionally applied using an {{if}} expression. In |
+ particular, the conditions of the {{if}} expression must hold |
+ for the {{property}} to be added to the corresponding |
Line 442 was replaced by line 442 |
- <code>P</code> to the individual if <code>x</code> is a positive |
+ {{P}} to the individual if {{x}} is a positive |
Lines 445-449 were replaced by lines 445-449 |
- <pre> |
- <individual type="ont:C" foreach="R.x"> |
- <property type="ont:P" value="$R.x" if="R.x>0"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual type="ont:C" foreach="R.x"> |
+ <property type="ont:P" value="$R.x" if="R.x>0"/> |
+ </individual> |
+ }}} |
Line 451 was replaced by line 451 |
- <p> This patterns must be represented using two first-order rules: |
+ This patterns must be represented using two first-order rules: |
Line 453 was replaced by line 453 |
- <pre> |
+ {{{ |
Line 457 was replaced by line 457 |
- </pre> |
+ }}} |
Line 459 was replaced by line 459 |
- <p> Thus, the condition on the property does not affect whether the |
+ Thus, the condition on the property does not affect whether the |
Line 461 was replaced by line 461 |
- <code>P</code> property. Using property conditions, it is possible to |
+ {{P}} property. Using property conditions, it is possible to |
Line 466 was replaced by line 466 |
- <p> Like with conditions on <code>individual</code> statements, no |
+ Like with conditions on {{individual}} statements, no |
Line 468 was replaced by line 468 |
- <code>property</code> statement conditions. Variables used in |
+ {{property}} statement conditions. Variables used in |
Lines 470-471 were replaced by lines 470-471 |
- property, with the exception of variables within <code>value</code> |
- expressions <a href="#8">[8]</a>, require only one associated value to |
+ property, with the exception of variables within {{value}} |
+ expressions[8], require only one associated value to |
Line 473 was replaced by line 473 |
- to the <code>ANY</code> keyword in SQL). |
+ to the {{ANY}} keyword in SQL). |
Line 476 was replaced by line 476 |
- <h3>3.3 Complex Instantiation Patterns</h3> |
+ !!!3.3 Complex Instantiation Patterns |
Lines 478-480 were replaced by lines 478-480 |
- <p> We have described two mechanisms to link individuals to object |
- properties: through <code>valuetype</code> expressions that generate |
- new, anonymous individuals "in place"; and through <code>value</code> |
+ We have described two mechanisms to link individuals to object |
+ properties: through {{valuetype}} expressions that generate |
+ new, anonymous individuals "in place"; and through {{value}} |
Lines 482-483 were replaced by lines 482-483 |
- introduce the use of <em><a href="#label">pattern labels</a></em> and |
- <em><a href="#reference">pattern references</a></em> to additionally |
+ introduce the use of __pattern labels__ and |
+ __pattern references__ to additionally |
Line 487 was replaced by line 487 |
- <p> <b>Pattern Labels.</b> Each individual instantiation pattern can |
+ __Pattern Labels.__ Each individual instantiation pattern can |
Lines 491-493 were replaced by lines 491-493 |
- <pre> |
- <individual label="o1" type="ont:C" foreach="R.x"/> |
- </pre> |
+ {{{ |
+ <individual label="o1" type="ont:C" foreach="R.x"/> |
+ }}} |
Line 495 was replaced by line 495 |
- <p> The first-order rule for this pattern is: |
+ The first-order rule for this pattern is: |
Line 497 was replaced by line 497 |
- <pre> |
+ {{{ |
Line 499 was replaced by line 499 |
- </pre> |
+ }}} |
Line 501 was replaced by line 501 |
- <p> The use of labels in this way does not change the interpretation |
+ The use of labels in this way does not change the interpretation |
Lines 506-507 were replaced by lines 506-507 |
- <p> <b>Referencing Patterns.</b> Properties can reference patterns |
- using pattern labels in <code>value</code> expressions <a |
+ __Referencing Patterns.__ Properties can reference patterns |
+ using pattern labels in {{value}} expressions <a |
Lines 513-517 were replaced by lines 513-517 |
- <pre> |
- <individual label="o2" type="ont:D" foreach="R.x, R.y"> |
- <property type="ont:P" value="@o1"/> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual label="o2" type="ont:D" foreach="R.x, R.y"> |
+ <property type="ont:P" value="@o1"/> |
+ </individual> |
+ }}} |
Line 519 was replaced by line 519 |
- <p> This pattern can be read as "For each unique x, y (tuple) value |
+ This pattern can be read as "For each unique x, y (tuple) value |
Line 524 was replaced by line 524 |
- <pre> |
+ {{{ |
Line 527 was replaced by line 527 |
- </pre> |
+ }}} |
Line 529 was replaced by line 529 |
- <p> As with resource variables, pattern references are interpreted |
+ As with resource variables, pattern references are interpreted |
Lines 531-534 were replaced by lines 531-534 |
- because <code>P</code>'s iteration context is "R.x, R.y" and |
- <code>o1</code>'s iteration context is "R.x" (i.e., <code>o1</code>'s |
- <code>foreach</code> expression is contained in <code>P</code>'s |
- enclosing <code>foreach</code> expression), the added <code>P</code> |
+ because {{P}}'s iteration context is "R.x, R.y" and |
+ {{o1}}'s iteration context is "R.x" (i.e., {{o1}}'s |
+ {{foreach}} expression is contained in {{P}}'s |
+ enclosing {{foreach}} expression), the added {{P}} |
Line 536 was replaced by line 536 |
- <code>x</code> value of the iteration context. |
+ {{x}} value of the iteration context. |
Line 538 was replaced by line 538 |
- <p> The iteration context of a property is not required to be a |
+ The iteration context of a property is not required to be a |
Lines 542-552 were replaced by lines 542-552 |
- <pre> |
- <individual label="o3" type="ont:D" foreach="R.y, R.z"> |
- <property type="ont:P" value="@o1"/> |
- </individual> |
- </pre> |
- |
- <p> each unique <code>y</code>, <code>z</code> pair for <code>R</code> |
- will be assigned a property <code>P</code> for every corresponding |
- <code>x</code> value of the pair. Note that in this example, any given |
- <code>y</code>, <code>z</code> pair may have multiple associated |
- <code>x</code> values. |
+ {{{ |
+ <individual label="o3" type="ont:D" foreach="R.y, R.z"> |
+ <property type="ont:P" value="@o1"/> |
+ </individual> |
+ }}} |
+ |
+ each unique {{y}}, {{z}} pair for {{R}} |
+ will be assigned a property {{P}} for every corresponding |
+ {{x}} value of the pair. Note that in this example, any given |
+ {{y}}, {{z}} pair may have multiple associated |
+ {{x}} values. |
Lines 554-555 were replaced by lines 554-555 |
- <p> Also, the iteration context of a property only applies to the |
- referenced pattern, and does <em>not</em> apply to additionally nested |
+ Also, the iteration context of a property only applies to the |
+ referenced pattern, and does __not__ apply to additionally nested |
Lines 558-561 were replaced by lines 558-561 |
- <pre> |
- <individual label="o5" type="ont:E" foreach="R.x, R.z"> |
- <property type="ont:Q" value="@o4"/> |
- </individual> |
+ {{{ |
+ <individual label="o5" type="ont:E" foreach="R.x, R.z"> |
+ <property type="ont:Q" value="@o4"/> |
+ </individual> |
Lines 563-565 were replaced by lines 563-565 |
- <individual label="o4" type="ont:D" foreach="R.y"> |
- <property type="ont:P" value="@o1"/> |
- </individual> |
+ <individual label="o4" type="ont:D" foreach="R.y"> |
+ <property type="ont:P" value="@o1"/> |
+ </individual> |
Line 567 was replaced by line 567 |
- </pre> |
+ }}} |
Line 569 was replaced by line 569 |
- <p> The corresponding first-order rules for these patterns are: |
+ The corresponding first-order rules for these patterns are: |
Line 571 was replaced by line 571 |
- <pre> |
+ {{{ |
Line 577 was replaced by line 577 |
- </pre> |
+ }}} |
Line 579 was replaced by line 579 |
- <p> Thus, although property values containing pattern references are |
+ Thus, although property values containing pattern references are |
Lines 581-582 were replaced by lines 581-582 |
- <code>foreach</code> expression, each distinct pattern is still |
- executed within its own context. To illustrate, let <code>R</code> be |
+ {{foreach}} expression, each distinct pattern is still |
+ executed within its own context. To illustrate, let {{R}} be |
Line 585 was replaced by line 585 |
- <pre> |
+ {{{ |
Line 590 was replaced by line 590 |
- </pre> |
+ }}} |
Line 592 was replaced by line 592 |
- <p> The triples created from pattern <code>o1</code> are: |
+ The triples created from pattern {{o1}} are: |
Line 594 was replaced by line 594 |
- <pre> |
+ {{{ |
Line 597 was replaced by line 597 |
- </pre> |
+ }}} |
Line 599 was replaced by line 599 |
- <p> The triples created from pattern <code>o4</code> are: |
+ The triples created from pattern {{o4}} are: |
Line 601 was replaced by line 601 |
- <pre> |
+ {{{ |
Line 605 was replaced by line 605 |
- </pre> |
+ }}} |
Line 607 was replaced by line 607 |
- <p> And the triples created from pattern <code>o5</code> are: |
+ And the triples created from pattern {{o5}} are: |
Line 609 was replaced by line 609 |
- <pre> |
+ {{{ |
Line 614 was replaced by line 614 |
- </pre> |
+ }}} |
Lines 616-635 were replaced by lines 616-635 |
- <p> Notice that both individuals of pattern <code>o5</code> are |
- <code>Q</code>-related to the same <code>o4</code> |
- individual. Similarly, this <code>o4</code> individual is |
- <code>P</code>-related to both individuals of <code>o1</code>, |
- corresponding to <em>both</em> <code>x</code> values of |
- <code>R</code>, and thus going "out of context" for pattern |
- <code>o5</code>. |
- |
- <p> To use the iteration context of <code>o5</code> for |
- <code>o1</code> while still generating intermediate instances of |
- <code>D</code>, we can use the following pattern, combining |
- <code>o5</code> and <code>o4</code>: |
- |
- <pre> |
- <individual label="o6" type="ont:E" foreach="R.x, R.z"> |
- <property type="ont:Q" valuetype="ont:D"> |
- <property type="ont:P" value="@o1"/> |
- </property> |
- </individual> |
- </pre> |
+ Notice that both individuals of pattern {{o5}} are |
+ {{Q}}-related to the same {{o4}} |
+ individual. Similarly, this {{o4}} individual is |
+ {{P}}-related to both individuals of {{o1}}, |
+ corresponding to __both__ {{x}} values of |
+ {{R}}, and thus going "out of context" for pattern |
+ {{o5}}. |
+ |
+ To use the iteration context of {{o5}} for |
+ {{o1}} while still generating intermediate instances of |
+ {{D}}, we can use the following pattern, combining |
+ {{o5}} and {{o4}}: |
+ |
+ {{{ |
+ <individual label="o6" type="ont:E" foreach="R.x, R.z"> |
+ <property type="ont:Q" valuetype="ont:D"> |
+ <property type="ont:P" value="@o1"/> |
+ </property> |
+ </individual> |
+ }}} |
Line 637 was replaced by line 637 |
- <p> The corresponding first-order rule for this pattern is: |
+ The corresponding first-order rule for this pattern is: |
Line 639 was replaced by line 639 |
- <pre> |
+ {{{ |
Line 644 was replaced by line 644 |
- </pre> |
+ }}} |
Lines 646-649 were replaced by lines 646-649 |
- <p> Note that in this case, however, we generate only one |
- <code>D</code> instance per <code>x</code>, <code>z</code> |
- pair,(instead of one for every value of <code>y</code>. Also, with |
- pattern <code>o6</code>, we can no longer reference the <code>D</code> |
+ Note that in this case, however, we generate only one |
+ {{D}} instance per {{x}}, {{z}} |
+ pair,(instead of one for every value of {{y}}. Also, with |
+ pattern {{o6}}, we can no longer reference the {{D}} |
Lines 652-653 were replaced by lines 652-653 |
- <p> <b>Property Iteration and Labels</b>. It is also possible to apply |
- <code>foreach</code> expressions to <code>property</code> statements, |
+ __Property Iteration and Labels__. It is also possible to apply |
+ {{foreach}} expressions to {{property}} statements, |
Line 655 was replaced by line 655 |
- individuals, for cases like <code>o6</code> above, should be |
+ individuals, for cases like {{o6}} above, should be |
Lines 658-664 were replaced by lines 658-664 |
- <pre> |
- <individual label="o7" type="ont:E" foreach="R.x, R.z"> |
- <property type="ont:Q" valuetype="ont:D" foreach="R.y" label="o8"> |
- <property type="ont:P" value="@o1"/> |
- </property> |
- </individual> |
- </pre> |
+ {{{ |
+ <individual label="o7" type="ont:E" foreach="R.x, R.z"> |
+ <property type="ont:Q" valuetype="ont:D" foreach="R.y" label="o8"> |
+ <property type="ont:P" value="@o1"/> |
+ </property> |
+ </individual> |
+ }}} |
Line 666 was replaced by line 666 |
- <p> results in the first-order rule: |
+ results in the first-order rule: |
Line 668 was replaced by line 668 |
- <pre> |
+ {{{ |
Line 674 was replaced by line 674 |
- </pre> |
+ }}} |
Lines 676-677 were replaced by lines 676-677 |
- <p> As shown, labels may also be applied to intermediate individuals |
- (via their corresponding <code>property</code> statements), allowing |
+ As shown, labels may also be applied to intermediate individuals |
+ (via their corresponding {{property}} statements), allowing |
Lines 680-681 were replaced by lines 680-681 |
- <code>foreach</code> expression with each of its ancestor's |
- <code>foreach</code> expressions. |
+ {{foreach}} expression with each of its ancestor's |
+ {{foreach}} expressions. |
Line 685 was replaced by line 685 |
- <a name="glossary"></a> <h2>Glossary</h2> |
+ !!!Glossary |
Line 687 was replaced by line 687 |
- <p> <b><a name="annotation">Semantic Annotation<a/>:</b> A mapping |
+ __<a name="annotation">Semantic Annotation<a/>:__ A mapping |
Line 692 was replaced by line 692 |
- <p> <b><a name="resource">Resource</a>:</b> A structured information |
+ __<a name="resource">Resource</a>:__ A structured information |
Line 696 was replaced by line 696 |
- <p> <b><a name="ontology">Ontology</a>:</b> Here, by ontology we mean |
+ __<a name="ontology">Ontology</a>:__ Here, by ontology we mean |
Line 700 was replaced by line 700 |
- <p> <b><a name="template">Semantic Annotation Template</a>:</b> A set |
+ __<a name="template">Semantic Annotation Template</a>:__ A set |
Line 703 was replaced by line 703 |
- <p> <b><a name="pattern">Instantiation Pattern</a>:</b> An XML-based |
+ __<a name="pattern">Instantiation Pattern</a>:__ An XML-based |
Line 707 was replaced by line 707 |
- <p> <b><a name="prefix">Prefix Label</a>:</b> A label used to |
+ __<a name="prefix">Prefix Label</a>:__ A label used to |
Line 710 was replaced by line 710 |
- <p> <b><a name="variable">Resource Variable</a>:</b> An attribute of a |
+ __<a name="variable">Resource Variable</a>:__ An attribute of a |
Line 715 was replaced by line 715 |
- <p> <b><a name="context">Iteration Context</a>:</b> The set of |
+ __<a name="context">Iteration Context</a>:__ The set of |
Line 719 was replaced by line 719 |
- <code>foreach</code> expression of the item in question. |
+ {{foreach}} expression of the item in question. |
Line 721 was replaced by line 721 |
- <p> <b><a name="label">Pattern Label</a>:</b> A label assigned to a |
+ __<a name="label">Pattern Label</a>:__ A label assigned to a |
Line 724 was replaced by line 724 |
- <p> <b><a name="reference">Pattern Reference</a>:</b> A reference to a |
+ __<a name="reference">Pattern Reference</a>:__ A reference to a |
Line 732 was replaced by line 732 |
- <p> <a name="1">[1]</a> In OWL, instances of classes are called |
+ <a name="1">[1]</a> In OWL, instances of classes are called |
Line 735 was replaced by line 735 |
- <p> <a name="2">[2]</a> Alternatively, we could use anonymous |
+ <a name="2">[2]</a> Alternatively, we could use anonymous |
Line 744 was replaced by line 744 |
- <p> <a name="2">[3]</a> The examples of resources in this document are |
+ <a name="2">[3]</a> The examples of resources in this document are |
Line 749 was replaced by line 749 |
- <p> <a name="3">[4]</a> By default, variables in <code>foreach</code> |
+ <a name="3">[4]</a> By default, variables in {{foreach}} |
Lines 753-757 were replaced by lines 753-757 |
- <p> <a name="5">[5]</a> We use the notation <code>(Axy)</code> for |
- universal quantification over variables <code>x</code> and |
- <code>y</code>; <code>(Exy)</code> for existential quantification |
- over variables <code>x</code> and <code>y</code>; and |
- <code>-></code> for implication. |
+ <a name="5">[5]</a> We use the notation {{(Axy)}} for |
+ universal quantification over variables {{x}} and |
+ {{y}}; {{(Exy)}} for existential quantification |
+ over variables {{x}} and {{y}}; and |
+ {{->}} for implication. |
Line 759 was replaced by line 759 |
- <p> <a name="6">[6]</a> Note that the use of <code>property</code> |
+ <a name="6">[6]</a> Note that the use of {{property}} |
Line 763 was replaced by line 763 |
- <code>valuetype</code> expression gives a subclass of the property's |
+ {{valuetype}} expression gives a subclass of the property's |
Lines 772-773 were replaced by line 772 |
- </pre> |
- }}} |
+ }}} |
Line 775 was replaced by line 774 |
- That is, for each unique <code>x</code>, <code>y</code> pair, assign a <code>P</code> property with value <code>y</code> to the corresponding <code>C</code> instance. Additional uses of <code>foreach</code> attributes on properties are discussed later. |
+ That is, for each unique {{x}}, {{y}} pair, assign a {{P}} property with value {{y}} to the corresponding {{C}} instance. Additional uses of {{foreach}} attributes on properties are discussed later. |