Difference between revisions of "Template:Concept scheme relation"

From TDWG Terms Wiki
Jump to: navigation, search
m (fix bug property range)
m (div display non → avoid-empty-paragraph-of-concept-scheme-relation)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<includeonly><!--
 
<includeonly><!--
 
  -->{{#if:{{{scheme|}}} <!--
 
  -->{{#if:{{{scheme|}}} <!--
  THEN-->|{{#set: skos:inScheme={{{scheme}}}}}<!--
+
  THEN-->|<!--  
 
+
--><div style="display:none;" class="avoid-empty-paragraph-of-concept-scheme-relation"><!-- maybe these #set produce empty <p></p>? <div style="display:none;"></div> work around is recommended by SMW
TODO: do empty values work out?
+
  -->{{#set: skos:inScheme={{{scheme}}}}}<!--
 
+
  -->[[Category:{{{scheme}}}]]<!--
-->{{#set_internal: concept constraint<!--  
+
-->|constraint defined in scheme={{{scheme}}}
+
|property domain={{{property domain|}}}
+
|property range={{{property range|}}}
+
|cardinality={{{property cardinality|}}}<!--
+
|is instance of=?correct?
+
-->
+
}}<!--
+
  
 +
-->{{#if: {{{property domain|}}}{{{property range|}}}{{{property cardinality|}}}<!--
 +
then-->|{{#set_internal: constraint of concept<!--
 +
  -->|constraint defined in scheme={{{scheme}}}
 +
  TODO: do empty values work out?
 +
    |property domain={{{property domain|}}}
 +
    |property range={{{property range|}}}
 +
    |cardinality={{{property cardinality|}}}<!--
 +
    |is instance of=?correct?
 +
  -->}}<!--end #set_internal
 +
-->}}<!-- end if
 +
--></div><!--
 
//////////////////////////////
 
//////////////////////////////
 
// output (TODO adjust correct links/texts)
 
// output (TODO adjust correct links/texts)
 
//////////////////////////////
 
//////////////////////////////
-->{{#if: {{{property cardinality|}}}{{{property domain|}}}{{{property range|}}}<!-- no output when just the scheme was specified
+
-->{{#if: {{{property cardinality|}}}{{{property domain|}}}{{{property range|}}}<!-- no output when only the scheme was specified
 
then-->|<nowiki></nowiki>
 
then-->|<nowiki></nowiki>
  
For scheme [[{{{scheme}}}]] the concept “{{PAGENAME}}” is constrained by: {{#if:{{{property cardinality|}}} |  
+
Constraints in the context of [[{{{scheme}}}]]: {{#if:{{{property cardinality|}}} |  
 
* [[Help:Cardinality | cardinality]] {{Cardinality from value to explained | {{{property cardinality|}}} }} }}<!--
 
* [[Help:Cardinality | cardinality]] {{Cardinality from value to explained | {{{property cardinality|}}} }} }}<!--
 
-->{{#if:{{{property domain|}}} |  
 
-->{{#if:{{{property domain|}}} |  
* [[rdfs:domain]]: {{{property domain|}}} }}<!--
+
* [[rdfs:domain]]: {{#set: rdfs:domain={{Complete pagename to fullurl |{{{property domain|}}}}}}}{{{property domain|}}} (=the class, to which “{{PAGENAME}}” may be applied) }}<!--
 
-->{{#if:{{{property range|}}} |  
 
-->{{#if:{{{property range|}}} |  
* [[rdfs:range]]: {{{property range|}}} }}<!--
+
* [[rdfs:range]]: {{#set: rdfs:range={{Complete pagename to fullurl |{{{property range|}}}}}}}{{{property range|}}} (=the class or datatype of the values or objects that are assigned to “{{PAGENAME}}”, i.e. the right side in the triple) }}<!--
  
 
else-->|<!--
 
else-->|<!--

Latest revision as of 09:55, 17 December 2012

[edit] [purge] Template-info.svg Template documentation

Background

Originally, the inScheme relation was part of the general relations (see template: Concept relation). It was separated, because we desire to express constraints (range, domain, cardinality) about concepts. The complication here is that consensus exists to define "base-schemes" with as few constraints as possible, which are then re-used in more constraining schemes. This means that constraints for a concept are not universal properties of the concept itself, but rather of their re-use.

Usage

On Concept pages (using Form:Concept) the following can be repeated any number of times (bold=mandatory parameter):

{{Concept scheme relation 
| scheme = <!-- page name of a concept scheme -->
| property domain =<!-- a domain constraint defined within that scheme -->
| property range  =<!-- a range constraint defined within that scheme -->
| property cardinality =<!-- one value of: "0..1", "0..n", "1..1", "1..n" -->
}}

Parameter in detail:

scheme= age name of a concept scheme

property domain = if present concept is a property, a domain constraint defined within that scheme. A domain defines the class of subject resources, to which a property may be applied. The constraints of the original scheme are most relevant, but other schemes may define other constraints. This maps to rdfs:domain if the skos concept is applied as an rdfs/owl ontology.

property range = if present concept is a property, a range constraint defined within that scheme. A range declares the class or datatype of the values or objects that are assigned to a property (the right side in the triple). The constraints of the original scheme are most relevant, but other schemes may define other constraints. This maps to rdfs:range[1] if the skos concept is applied as an rdfs/owl ontology.

property cardinality = if present concept is a property, a cardinality constraint defined within that scheme. Values are:

  • 0..1 (optional single occurrence)
  • 0..n (optional multiple occurrence)
  • 1..1 (mandatory single occurrence)
  • 1..n (mandatory multiple occurrence).

The constraints of the original scheme are most relevant, but other schemes may define other constraints. For example "1..1" maps to owl:minCardinality "1" owl:maxCardinality "1" if the skos concept is applied as an rdfs/owl ontology.


  1. is rdfs:range correct? --Andreas Plank 17:32, 25 October 2012 (CEST)


TODO

See also