Wikicat Technical Design/Resource Relationship Entities
Appearance
Wikicat (and Wikicite) datamodel for expressing relationships between resources and the primary, FRBR-derived entities of Wikicat. This encompasses both
Resource Realtors
[edit]Defines the set of realtors (i.e. relationship types) that may exist between catalog resources.
> DESC resource_realtor;
COLUMN TYPE DESC
----------------------------------------------------
realtor_code VARCHAR(5) Realtor type code/primary key
NOT NULL
name VARCHAR(25) Short name of the realtor
NOT NULL
TRANSLATABLE
description VARCHAR(50) Description of the realtor
NOT NULL
TRANSLATABLE
entity1_type VARCHAR(3) Type of first entity in the relationship;
NOT NULL foreign key to table MODEL_ENTITY_TYPE
entity2_type VARCHAR(3) Type of second entity in the relationship;
NOT NULL foreign key to table MODEL_ENTITY_TYPE
commutative BOOLEAN If the relationship is commuative
NOT NULL
transitive BOOLEAN If the relationship is transitive
transactional BOOLEAN If the relationship is transactional, for example
with a fixed duration
> select * from resource_realtor;
realtor_code name entity_type1 entity_type1 commutative
----------------------------------------------------------------
exprs Expresses exp wrk FALSE
mnfst Manifests mnf exp FALSE
embdy Embodies itm mnf FALSE
Resource Relationships
[edit] > DESC resource_relationship;
COLUMN TYPE DESC
----------------------------------------------------
res_rel_id INT(15) Primary key of the entity
NOT NULL
realtor_code VARCHAR(5) Relationship type; foreign key
NOT NULL to RESOURCE_REALTOR
entity1_type VARCHAR(3) Type of the first entity in the relationship;
foreign key to table MODEL_ENTITY_TYPE
entity1_id INT(15) Primary key of the first relationship entity;
NOT NULL the actual table to which this
key points is indicated by entity_type.
entity2_type VARCHAR(3) Type of the second entity in the relationship;
The extent of a resource relationship, such as pages, playing time, etc. Note that there may be mutliple extents for a particular resource relationship when the extents are non-consecutive.
> DESC resource_rel_extent;
COLUMN TYPE DESC
----------------------------------------------------
res_rel_x_id INT(15) Primary key of the entity
res_rel_id INT(15) Resource relationship; foreign
NOT NULL key to RESOURCE_RELATIONSHIP
extent_type VARCHAR(3) Type of the extent
NOT NULL
extent_unit VARCHAR(3) Unit of the extent, for example, from
NOT NULL EXPRESSION_EXTENT_UNIT_TYPE
extent_begin VARCHAR(25) Beginning of the extent
NOT NULL
extent_end VARCHAR(25) End of the extent
NOT NULL