|
Annex 3 - Definition of the CERIF Metadata
Terminology used:
| Entity: |
refers to the collection of attributes, e.g. Project. |
| Attribute: |
description of the data field, e.g. Project Status. |
| Type: |
data type. E.g. date, char(32). |
| Constraint: |
logic conditions that a value under this attribute in this entity must satisfy |
Conditions used in the following description :
m = mandatory o = optional pk = primary key fk = foreign key
enumlist = enumerated list
For the purposes of this model, entity, object and table are all the same thing.
- Base table
- Secondary table
- Language field-base
- Link table
BASE TABLE
Three primary 3 object types (entities) – Project, OrgUnit and Person. Note because of the multilingual requirement, text fields are separated out into language-field-base tables
| Entity |
Attribute |
Type |
Constraint |
Comments / Meaning |
| Project |
Project Id |
char(32) |
m,pk |
|
| Start Date |
date |
m |
|
| End Date |
date |
o |
|
| Status |
char(8) |
m, enumlist |
e.g. stalled, completed… |
| Person |
Person Id |
char(32) |
m,pk |
|
| Family Names |
char(32) |
m |
list, separated |
| First Names |
char(16) |
o |
list, separated |
| Other Names |
char(32) |
|
list, separated |
| OrgUnit |
OrgUnit Id |
char(32) |
m,pk |
|
| Acronym |
char(16) |
o |
|
| Type |
char(8) |
m, enumlist |
enumlist, separated |
| Name |
char(512) |
|
|
SECONDARY BASE :
These contain data fields (attributes) that together have a 1:n or n:m relationship with the base entities. If n:m are linked to base entities via link tables.
| Entity |
Attribute |
Type |
Constraint |
Comments / Meaning |
| Project Additional |
Project Id |
char(32) |
m, pk |
|
| Project Additional |
Result_Publication |
char(1) |
m, enumlist |
[Y | N] |
| Result_Patent |
char(1) |
m, enumlist [Y | N] |
|
| Result_Product |
char(1) |
m, enumlist [Y | N] |
|
| Facility |
char(1) |
m, enumlist [Y | N] |
|
| Equipment |
char(1) |
m, enumlist [Y | N] |
|
| Service |
char(1) |
m, enumlist [Y | N] |
|
| PersonAdditional |
PersonId |
char(32) |
m,pk |
|
| Expertise Skills |
char(1) |
m, enumlist |
[Y | N] |
| OrgUnitAdditional |
OrgUnit Id |
char(32) |
m, pk |
|
| Result_Publication |
char(1) |
m, enumlist |
[Y | N] |
| Result_Patent |
char(1) |
m, enumlist [Y | N] |
|
| Result_Product |
char(1) |
m, enumlist [Y | N] |
|
| Facility |
char(1) |
m, enumlist [Y | N] |
|
| Equipment |
char(1) |
m, enumlist [Y | N] |
|
| Service |
char(1) |
m, enumlist [Y | N] |
|
| Contact |
Contact Id |
char(32) |
m, pk |
|
| Addrline1 |
char(80) |
o |
|
| Addrline2 |
char(80) |
o |
|
| Addrline3 |
char(80) |
o |
|
| Addrline4 |
char(80) |
o |
|
| Addrline5 |
char(80) |
o |
|
| City Town |
char(32) |
m |
|
| State of Country |
char(32) |
o |
|
| Postcode |
char(16) |
m |
|
| Country code |
char(4) |
m,enumlist |
|
| NUTS Code |
char(10) |
m, enumlist |
Eurostat region locator code, m in EU |
| Telephone |
char(24) |
o |
list, separated |
| Fax |
char(24) |
o |
list, separated |
| Email |
char(32) |
o |
|
| URI |
char(128) |
o |
contact URI |
LANGUAGE-FIELD BASE
Logically in base tables but repeating language groups, so separated into separate entities but do not need to use link tables because 1:n not n:m relations
| Entity |
Attribute |
Type |
Constraint |
Comments / Meaning |
| Project-Title |
Project Id |
char(32) |
m, pk(part) |
|
| Language |
char(2) |
m, pk(part) |
|
| Title |
char(1024) |
|
|
| Project-Abstract |
Project Id |
char(32) |
m, pk(part) |
|
| Language |
char(2) |
m, pk(part) |
|
| Abstract |
char(4096) |
|
|
| Project-Keywords |
Project Id |
char(32) |
m, pk(part) |
|
| Language |
char(2) |
m, pk(part) |
|
| Keywords |
char(1024) |
|
ORTELIUS, NACE and CPA are recommended for subject indexing (see chapter 6) |
| OrgUnit-Name |
OrgUnit Id |
char(32) |
m,pk(part) |
|
| Language |
char(2) |
m,pk(part) |
|
| Name |
char(512) |
|
|
LINK TABLES
These tables provide the linkage for a MVD (multi-valued dependency) i.e when the relationship between tuples of entity 1 and entity 2 is n:m or when a 1:n relationship is typed by semantics (e.g. role) Usually they have attributes describing the semantics (e.g. role) of the relationship
| Entity |
Attribute |
Type |
Constraint |
Comments / Meaning |
| Project-Person |
Project Id |
char(32) |
m, fk, pk(part) |
|
| Person Id |
char(32) |
m,fk, pk(part) |
|
| Role |
char(16) |
o, enumlist |
e.g. project leader, investigator, accountant |
| Start Date |
date |
o |
|
| End Date |
date |
o |
|
| Project-OrgUnit |
Project Id |
char(32) |
m, fk, pk(part) |
|
| OrgUnit Id |
char(32) |
m, fk, pk(part) |
|
| Role |
char(16) |
o, enumlist |
e.g. group, division, department, lab, funder… |
| Start Date |
date |
o |
|
| End Date |
date |
o |
|
| Person-OrgUnit |
Person Id |
char(32) |
m, fk, pk(part) |
|
| OrgUnit Id |
char(32) |
m, fk, pk(part) |
|
| Role |
char(16) |
o, enumlist |
e.g. division head, group leader |
| Start Date |
date |
o |
|
| End Date |
date |
o |
|
| Person-Contact |
Person Id |
char(32) |
m, fk, pk(part) |
|
| Contact Id |
char(32) |
m, fk, pk(part) |
|
| Role |
char(16) |
o, enumlist |
eg business, home, temporary |
| Start Date |
date |
o |
|
| End Date |
date |
o |
|
| OrgUnit-Contact |
OrgUnit Id |
char(32) |
m, fk, pk(part) |
|
| Contact Id |
char(32) |
m, fk, pk(part) |
|
| Role |
char(16) |
o, enumlist |
e.g. distribution centre, head office… |
| Start Date |
date |
o |
|
| End Date |
date |
o |
| |