Relations
From ComPADRE Wiki
Contents |
[edit]
Relations Table
- RelationID int
- This is the unique identifier for the relation in the system
- KindVID, int
- This is the identifier for the vocabulary term that identifies the type of relation
- RelationDate, datetime
- The datetime the relation was created
- CompadreID, int
- This is the unique identifier for the material
- ResourceID, int
- This is the unique identifier for the material that is being related to
- ResourceRelationID, int
- This is the unique identifier for the reverse relationship in the system
- Ordering, int
- This is a field to hold the order the relation should appear in relative to other relations in the system
- Required, bit
- This is a field to indicate whether the relation 'must' appear
[edit]
ItemDescriptions Table
Each relation has a description stored in this table.
- DescriptionID
- Unique Identifier for this Description
- ComPADREID
- This is the unique identifier for the material. It is included here because not all descriptions are the product of relations and so a tie to the original material is sometimes necessary.
- Type
- Relation
- Lang
- Language the relation is written in (primarily 'en')
- Description
- Holds the description of the relation to be displayed
- ParentID
- RelationID for this relation description
[edit]
Kinds of relations we support
- hasFormat: Has Format Of
- hasPart: Has Part Of
- hasVersion: Has Version Of
- isBasedOn: Is Based On
- isBasisFor: Is Basis For
- isFormatOf: Is Format Of
- isPartOf: Is Part Of
- isReferencedBy: Is Referenced By
- isRequiredBy: Is Required By
- isVersionOf: Is Version Of
- references: References
- requires: Requires
- supplements: Supplements
- isSupplementedBy: Is Supplemented By
- replaces: Replaces
- isReplacedBy: Is Replaced By
- conformsTo: Conforms To
- sameTopicAs: Same Topic As
- hasChapter: Has Chapter
- isChapterOf: Is Chapter In
- hasArticle: Has Article
- isArticleOf: Is Article In
[edit]
Current Plans
- To improve the interface that allows for the creation of relations, and
- To improve the interface that displays existing relationships
- We currently have a host of fields to indicate which collections the relation should appear in. It is likely that I will create a separate table to be exclusionary, as such:
[edit]RelationExclusions Table
- RelationExclusionID
- Unique identifier for this table
- RelationID
- Unique identifier for the relation to be excluded from the collection
- Collection
- (PSRC | Quantum | Student | Informal | Precollege | Astronomy | PER | PTEC | AdvLabs | IntroPhys | Relativity | Nanotech | StatMech)
- All relations for included materials, will by default appear on the detail record unless explicitly excluded.
[edit]
Possibilities
- To open up the relation interface for public construction of relations. This goes in with the filing cabinet/curriculum pathing that has been discussed.
- Adding more complex hierarchical relationships
