Metadata Structure for the Explore Page

The Explore page in Colectica Portal allows users to navigate information quickly. This document describes the metadata structures used to populate the contents of the Explore page.

Explore Index

The explore index page at http://{hostname}/explore provides a link to an Explore page for each ConceptScheme in the repository.

To skip the index page and always use a single concept system, a single ConceptScheme can be specified. Add configuration like the following to appsettings.json.

"Explore": {
  "ConceptSchemeAgency": "int.example",
  "ConceptSchemeId": "bf168ad5-41c6-4f76-a4d8-d0a2ff627a2e"
},

Explore Page

Topics

The left side navigation bar shows a hierarchical concept system. This hierarchy is built from the ConceptScheme chosen from the index page.

Concordance Table

When a user chooses a concept, a concordance table is created in the main content area according to the following rules.

Rows

  1. If a ConceptualVariableGroup references the chosen Concept, a row is created for each ConceptualVariable in that group

  2. If not, then a row is created for all ConceptualVariables that reference the Concept.

Note

ConceptualVariableGroups should be preferred, since they allow you to specify a meaningful order of the items.

Columns

The first column of the concordance table shows the ConceptualVariable for the row. See above for a description of how rows are created.

The remaining columns and cell contents are created as follows. For each row:

  1. Gather a list of RepresentedVariables that point to the ConceptualVariable.

  2. Gather a list of Variables that point to the RepresentedVariables.

  3. Get the PhysicalInstances that contain the discovered Variables.

  4. If the PhysicalInstances are contained within the same StudyUnit, Group, or SubGroup, sort the PhysicalInstances in the order specified by the containing item.

  5. Create a column for each PhysicalInstance.

  6. In each cell, create a link for the Variable that corresponds to the row’s ConceptualVariable and the columns PhysicalInstance.