Versions Compared

Key

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

This page describes an out-of-the-box Configurable Entities use case which is to represent a "Compound Journal" hierarchy.

Structure

The structure displays the types of entities, and the relations between them. 

Each Journal consists of multiple volumes, and each volume contains multiple issues.

Data Model Storage

Storage in the database

The entity types represent the 3 blocks from the structure.

...

Code Block
select id, left_type, right_type, left_label, right_label from relationship_type;

 id | left_type | right_type |       left_label            |      right_label       
----+-----------+------------+-----------------------------+------------------------
  7 |         5 |          6 | isVolumeOfJournal           | isJournalOfVolume
  8 |         6 |          7 | isIssueOfJournalVolume      | isJournalVolumeOfIssue
  9 |         7 |          1 | isPublicationOfJournalIssue | isJournalIssueOfPublication

Data Model Design in XML

The XML file designed to create the rows in the database mentioned above.

...

creates the database tables.

Relation Storage

Storage in the database

The relations are the actual items which are connected, and contain a foreign key to both items, and to the relationship type. The place column has been omitted to reduce the size of the table. The item IDs have been reduced in size to reduce the size of the table.

...

Code Block
select id, left_id, type_id, right_id from relationship;

 id |               left_id           | type_id |               right_id         
----+---------------------------------+---------+--------------------------------
 56 | d4af6c3e-53d0-81eb-566f3b45d63a |       7 | 07c6249f-4bf7-9ce3-6ffdb2aed538
 57 | d4af6c3e-53d0-81eb-566f3b45d63a |       7 | 66bb4e5d-b419-a648-f270a527f17c
 58 | a23eae5a-7857-8e52-989436ad2955 |       7 | f9b89a11-b44e-a3b4-ab24a33553c7
 59 | a23eae5a-7857-8e52-989436ad2955 |       7 | 343d3263-2733-9dc4-216a01b4a461
 60 | 07c6249f-4bf7-9ce3-6ffdb2aed538 |       8 | 44c29473-5de2-b005-e5029aa1a50b
 61 | 07c6249f-4bf7-9ce3-6ffdb2aed538 |       8 | c3076837-e5df-80bc-2661cd390a7b
 62 | 66bb4e5d-b419-a648-f270a527f17c |       8 | a4a63ab5-8c0b-b5f7-5b5d9828cb69
 63 | f9b89a11-b44e-a3b4-ab24a33553c7 |       8 | 77877343-3f75-9492-6ed7c98ed84e
 64 | f9b89a11-b44e-a3b4-ab24a33553c7 |       8 | f4dcd8a6-4cc4-8bb9-a7e8202e05b0
 65 | 343d3263-2733-9dc4-216a01b4a461 |       8 | b7003f66-80e9-99a2-3695e8150b80
 66 | 343d3263-2733-9dc4-216a01b4a461 |       8 | db55298c-a21f-8793-a21f1194a226
141 | 44c29473-5de2-b005-e5029aa1a50b |       9 | e98b0f27-5c19-960d-eb6ad5287067
142 | c3076837-e5df-80bc-2661cd390a7b |       9 | 96715576-3748-ad45-001646632963
143 | a4a63ab5-8c0b-b5f7-5b5d9828cb69 |       9 | 047556d1-3d01-bc68-0cee7ad7ed4e

Virtual Metadata

For Journal Volumes, it’s relevant to include the ISSN and journal name of the parent journal in the metadata. A sample of this functionality can be seen at e.g. https://demo.dspace.org/server/#https://demo.dspace.org/server/api/core/items/66bb4e5d-b419-42b7-a648-f270a527f17c where journal.identifier.issn and journal.title is populated with the metadata of the parent journal

...