Difference between revisions of "Template:Concept Table grouped by Collection 1"

From TDWG Terms Wiki
Jump to: navigation, search
m (+documentation)
m (+dependencies)
Line 5: Line 5:
 
=== Parameters ===
 
=== Parameters ===
  
<div class="definition-inline">
+
'''Bold parameters''' are mandatory, all other are optional:
;|1= : concept collection name
+
{| class="wikitable sortable"
;|limit concepts= : the limit of concepts to <code>#ask</code> for subsequently (default: 500)
+
|-
</div>
+
! Parameter !! Comment, Example !! Property
 +
|-
 +
|
 +
'''<nowiki>|1=</nowiki>'''
 +
| a concept collection, e.g. <code>Audubon Core Attribution Vocabulary</code>
 +
|
 +
|-
 +
|
 +
<nowiki>|limit concepts=</nowiki>
 +
|
 +
* the limit of concepts to display for each collection
 +
* default: <code>500</code>
 +
|
 +
|}
  
 
Note: that parameter 1 can also be provided by an #ask query wrapping this template ([[#use case 2|see use case 2]]).
 
Note: that parameter 1 can also be provided by an #ask query wrapping this template ([[#use case 2|see use case 2]]).
Line 83: Line 96:
  
 
* [[template: Concept]]
 
* [[template: Concept]]
* <s>[[template:smwAsk InternalAnchorRef]]</s> (used by #ask)
+
* <s>[[template:smwAsk InternalAnchorRef]] (used by #ask)</s>
 
* [[template:Concept Table grouped by Collection 2]] (used by #ask in [[template: Concept]])
 
* [[template:Concept Table grouped by Collection 2]] (used by #ask in [[template: Concept]])
 
** [[property: terms-internal:summary (as table rows) of concept term]]
 
** [[property: terms-internal:summary (as table rows) of concept term]]
 +
** [[property: terms-internal:enLabel]]
 +
** [[property: terms-internal:enDefinition]]
 +
** [[property: terms-internal:enExample]]
 +
** [[property: terms-internal:enNote]]
 +
** [[property: rdfs:isDefinedBy]]<br/> not passed but #ask-ed for in this subsequent template is subobject [[property: constraint of concept]] which holds: [[property: property domain]], [[property: property range]], [[property: cardinality]])
 +
  
 
[[Category: SMW ask template]]
 
[[Category: SMW ask template]]
Line 97: Line 116:
 
|link style=local page link
 
|link style=local page link
 
}}<!--  
 
}}<!--  
// Using arraymap, loop through present userparam (containing the second level collections like Layer 1, Layer 2), passing the current collection as userparam to next template
+
// Using arraymap, loop through the current collection(s)
 
-->{{#arraymap: {{{1|Audubon Core Attribution Vocabulary}}}<!--
 
-->{{#arraymap: {{{1|Audubon Core Attribution Vocabulary}}}<!--
 
   -->|,<!-- sep
 
   -->|,<!-- sep
 
   -->|§<!-- assign temporary var
 
   -->|§<!-- assign temporary var
   -->|<!--start arraymap output section:
+
   -->|<!-- start arraymap output section:
 
    
 
    
 
   OLD code: avoid rendering during the #ask: inline queries but use pre-rendered display property below. (AP 2020-01-27 16:31:47)  
 
   OLD code: avoid rendering during the #ask: inline queries but use pre-rendered display property below. (AP 2020-01-27 16:31:47)  

Revision as of 14:42, 28 January 2020

This template displays definitions of terms in a table layout grouped by concept collections. It can be and is usually invoked by a previous #ask query.

Technical Documentation

Parameters

Bold parameters are mandatory, all other are optional:

Parameter Comment, Example Property
|1=
a concept collection, e.g. Audubon Core Attribution Vocabulary
|limit concepts=
  • the limit of concepts to display for each collection
  • default: 500

Note: that parameter 1 can also be provided by an #ask query wrapping this template (see use case 2).


Example/Usage

Use cases can be:

  1. to query just one collection
  2. to query multiple concept collections

 Use case 1 (to query just one collection)

Template:Concept Table grouped by Collection 1
 └─ #ask (for concepts within the given collection)
    └─ display table layout via property: terms-internal:summary (as table rows) of concept term
       (generated table layout of template: Concept Table grouped by Collection 2)

If you want to display concepts of just one collection (use case 1) use it as follows (here limited to just 2 concepts for this example):

{{Concept Table grouped by Collection 1|Audubon Core Attribution Vocabulary|limit concepts=2}}

… wich results in

Audubon Core Attribution Vocabulary

Index to Audubon Core Attribution Vocabulary
By label: Attribution Link URL  •  Attribution URL  •  Copyright Owner  •  Credit Line  •  License Logo URL  •  License URL  •  Rights  •  Source  •  UsageTerms
By concept name: ac:attributionLinkURL  •  ac:attributionLogoURL  •  ac:licenseLogoURL  •  dcterms:rights  •  dcterms:source  •  photoshop:Credit  •  xmpRights:Owner  •  xmpRights:UsageTerms  •  xmpRights:WebStatement
Concept definitions in Audubon Core Attribution Vocabulary
… further results and concept collection Audubon Core Attribution Vocabulary
ac:attributionLinkURL
Normative URI http://rs.tdwg.org/ac/terms/attributionLinkURL
Label Attribution Link URL
Definition The URL where information about ownership, attribution, etc. of the resource may be found.
Defined By http://terms.tdwg.org/wiki/Audubon_Core_Term_List#ac:attributionLinkURL
  Required: No — Repeatable: No
Notes: Audubon Core: This URL may be used in creating a clickable logo. Providers should consider making this link as specific and useful to consumers as possible, e. g., linking to a metadata page of the specific image resource rather than to a generic page describing the owner or provider of a resource.
Concept Name: ac:attributionLogoURL
Normative URI http://rs.tdwg.org/ac/terms/attributionLogoURL
Label Attribution URL
Definition The URL of the icon or logo image to appear in source attribution.
Defined By http://terms.tdwg.org/wiki/Audubon_Core_Term_List#ac:attributionLogoURL
  Required: No — Repeatable: No
Notes: Audubon Core: Entering this URL into a browser should only result in the icon (not in a webpage including the icon).



Use case 2 (to query multiple concept collections)

#ask (for multiple concept collections)
 └─ Template:Concept Table grouped by Collection 1
    └─ #ask (for concepts within previous results of concept collections)
       └─ display table layout via property: terms-internal:summary (as table rows) of concept term
          (generated table layout of template: Concept Table grouped by Collection 2)

If you want to query for multiple concept collections (usecase 2: here all collections in scheme GGBN Data Standard) you can use it with an #ask-query as follows:

{{#ask: [[Category:Concept collection]] [[skos:inScheme::GGBN Data Standard]]
| ? #-
| link=none
| mainlabel=-
| format=template
| template=Concept Table grouped by Collection 1
| searchlabel=<i>&#32;…&nbsp;see also further results and collections</i>
| limit=20
}}

Note that the #ask-parameter |limit=20 may be crucial here: 

  • depending on the size of the concept scheme this means it queries for 20 collections and within each, all (up to |limit concepts=500) concepts
  • if there are more results, then at the bottom a link will appear to see further results
  • if the concept collection is too large (over 1000 concepts) this template may not be able to show all concepts and you can get a warning like:
Warning: Template include size is too large. Some templates will not be included.

Pages that have too much template calls can be found in this maintenance category: Pages where template include size is exceeded.

Technically this template relies on values generated by template: Concept Table grouped by Collection 2 via template: Concept. This approach ensures to get a quick display response time in Semantic MediaWiki to just display cached content and not to render the content during the #ask-inline query. Template: Concept Table grouped by Collection 2 also produces the actual table layout. On a concept page it sets some thing like:

{{#set: terms-internal:summary (as table rows) of concept term={{#ask: [[{{PAGENAME}}]]
|format=template
|template=Concept Table grouped by Collection 2
|mainlabel=-
|? #-                              <!-- page name -->
|?terms-internal:enLabel #-        <!-- english label -->
|?terms-internal:enDefinition #-   <!-- english definition -->
|?terms-internal:enExample #-      <!-- english example -->
|?terms-internal:enNote #-         <!-- english notes -->
|?rdfs:isDefinedBy #-              <!-- the is definded by -->
|?dcterms:identifier #-            <!-- the URI -->
}} 
}}


Dependencies