Skip to content

Setting the property order

Osma Suominen edited this page Jun 18, 2020 · 3 revisions

Starting from Skosmos 2.7 it is possible to set the property order used on Skosmos concept and search result pages (issue #554). Three sorts of property order can be selected using the vocabulary-specific configuration setting skosmos:propertyOrder:

  1. Default/traditional property order, used in previous Skosmos releases
  2. ISO 25964 property order
  3. Custom property order

1. Default property order

The default property order (the traditional order used in previous Skosmos releases) can be selected by setting the skosmos:propertyOrder setting to the value skosmos:defaultPropertyOrder. This setting is a bit redundant, since this is the default order.

The default order is: rdf:type dc:isReplacedBy skos:definition skos:broader isothes:broaderGeneric isothes:broaderPartitive isothes:broaderInstantial skos:narrower isothes:narrowerGeneric isothes:narrowerPartitive isothes:narrowerInstantial skos:related skos:altLabel skos:note skos:scopeNote skos:historyNote rdfs:comment dc11:source dc:source skosmos:memberOf skosmos:memberOfArray

2. ISO 25964 property order

The ISO 25964 standard specifies a suggested order for fields in thesauri. The ISO 25964 order can be selected by setting skosmos:propertyOrder to skosmos:iso25964PropertyOrder. Note that the ISO standard doesn't cover all the fields used in typical SKOS vocabularies, such as Dublin Core properties, so the standard has been slightly adapted. Also, the definition is shown next to the scope note near the top, which is allowed by the standard as an option.

The ISO 25964 order is: skos:note skos:scopeNote skos:definition rdfs:comment dc11:source dc:source skos:altLabel skos:broader isothes:broaderGeneric isothes:broaderPartitive isothes:broaderInstantial skos:narrower isothes:narrowerGeneric isothes:narrowerPartitive isothes:narrowerInstantial skos:related skos:historyNote skosmos:memberOf skosmos:memberOfArray

3. Custom property order

A custom property order can be set by defining a skosmos:PropertyOrder instance with an rdf:value that lists the order, like this example:

:myvoc skosmos:propertyOrder :propertyOrder .

:propertyOrder a skosmos:PropertyOrder ;
    rdf:value ( rdf:type dc:isReplacedBy skos:definition skos:broader
                skos:narrower skos:related skos:altLabel skosmos:memberOf
                skos:note skos:scopeNote skos:historyNote rdfs:comment
                dc11:source dc:source skos:prefLabel) .

Several vocabularies can of course refer to the same order definition.