Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Creation and Management of Concepts within the Thesauri, including support for creating and assigning Preferred Terms, Non-Preferred Terms and Hidden Terms in DSpace Authority Control Concepts. In addition support for managing the hierarchical and associative relationships between Authority Control Concepts will be available. This will allow support to create and manage hierarchical vocabularies (taxonomies) as well as relate concepts across thesauri (for example, assigning organization membership to authors).
Finally, support for assigning additional metadata to both Concepts and Terms will be have in a manner equivalent to attaching “Notes” to Term and Concept objects (skos and skos-xl namespaces will be employed to facilitate thesaurus specific metadata attributes. Additional attributes will be able to be defined in namespaces decided on my the Repository Administrators (Dublin Core, FoaF, MADS, MODS, so-on)

Released Versions

DSpace 5.x : Code for AAC was released in concert with DSpace LoD Sesame Repository support for DSpace 5.x located in the following fork of the DSpace codebase: https://github.com/dspace-oceanlink/DSpace/tree/oceanlink-5_x/dspace-aac it is currently deployed into WHOAS DSpace Repository with LoD feautres included, solution provides LoD representations of a number of objects in DSpace, including Communtites, Collections, Items, Bitstreams, BitstreamFormats, and Authority Concepts

DSpace 6.x : A recent production rollout of the 6.0 version of this codebase is deployed on the TXState repository with additional UI enhancements.

Data Model Overview

The database schema is available here to see how the two solutions differ between DSpace versions.

DSpace 6.x Data Model

Code Block
languagesql
title6.x AAC Data Model

-------------------------------------------------------
-- Sequences for creating new IDs (primary keys) for tables.
-------------------------------------------------------
CREATE SEQUENCE conceptrelationtype_seq;
CREATE SEQUENCE conceptrelation_seq;

--------------------------------------------------------------------------------------------------------------
-- ADVANCED AUTHORITY CONTROL ENTITIES
--------------------------------------------------------------------------------------------------------------
CREATE TABLE scheme
(
  uuid              UUID PRIMARY KEY DEFAULT gen_random_uuid() REFERENCES dspaceobject(uuid),
  created           TIMESTAMP WITH TIME ZONE,
  modified          TIMESTAMP WITH TIME ZONE,
  name              VARCHAR(256) UNIQUE,
  lang              VARCHAR(24)
);

CREATE TABLE term
(
  uuid              UUID PRIMARY KEY DEFAULT gen_random_uuid() REFERENCES dspaceobject(uuid),
  created           TIMESTAMP WITH TIME ZONE,
  modified          TIMESTAMP WITH TIME ZONE,
  source            VARCHAR(256),
  status            VARCHAR(256),
  literalForm       TEXT,
  lang              VARCHAR(24),
  hidden            BOOL,
  discoverable      BOOL
);

CREATE TABLE concept
(
  uuid              UUID PRIMARY KEY DEFAULT gen_random_uuid() REFERENCES dspaceobject(uuid),
  created           TIMESTAMP WITH TIME ZONE,
  modified          TIMESTAMP WITH TIME ZONE,
  status            VARCHAR(256),
  lang              VARCHAR(24),
  source            VARCHAR(256),
  hidden            BOOL,
  replaced_by       UUID REFERENCES concept(uuid),
  preferred_term    UUID REFERENCES term(uuid)
);

CREATE TABLE conceptrelationtype
(
  id                INT PRIMARY KEY DEFAULT NEXTVAL('conceptrelationtype_seq'),
  hierarchical      BOOL,
  incoming_label    VARCHAR(64) UNIQUE,
  outgoing_label    VARCHAR(64) UNIQUE
);

--------------------------------------------------------------------------------------------------------------
-- ADVANCED AUTHORITY CONTROL RELATIONS
--------------------------------------------------------------------------------------------------------------
CREATE TABLE scheme2concept
(
  scheme_id   	    UUID REFERENCES scheme(uuid),
  concept_id   	    UUID REFERENCES concept(uuid),
  PRIMARY KEY(scheme_id, concept_id)
);

CREATE TABLE concept2concept
(
  id                INT PRIMARY KEY DEFAULT NEXTVAL('conceptrelation_seq'),
  incoming_id       UUID REFERENCES concept(uuid),
  outgoing_id       UUID REFERENCES concept(uuid),
  relation_type     INT REFERENCES conceptrelationtype(id)
);

CREATE TABLE concept2term
(
  concept_id   	    UUID REFERENCES concept(uuid),
  term_id   	      UUID REFERENCES term(uuid),
  PRIMARY KEY(concept_id, term_id)
);

DSpace 5.x Data Model


Previous Schema for DSpace AAC model

Functional and Abstract Concepts behind Data Model Approach

Original design background for the Editable Authority Control addon is based research completed by Pete Johnston on aligning ISO-25964 and SKOS-EX as published in the following eFoundations blog articles:

...