Relations

From ComPADRE Wiki

Jump to: navigation, search

Contents

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

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

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

Current Plans

  1. To improve the interface that allows for the creation of relations, and
  2. To improve the interface that displays existing relationships
  3. 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:

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.

Possibilities

  1. To open up the relation interface for public construction of relations. This goes in with the filing cabinet/curriculum pathing that has been discussed.
  2. Adding more complex hierarchical relationships
Personal tools