BS8723-5-Full

Table of content

1 - Model

  • The BS8723-5-Full model includes all the features of a Thesaurus.
  • Note that the names used in this diagram were modified to match the names used in the XML Schema. For example "lexicalValue" was changed to "LexicalValue" to follow the GovTalk recommendation to use UpperCamelCase.
  • Where relevant, the name of a Dublin core element was used for an element in the XML Schema. In this case, the name follows the Dublin Core lowerCamelCase convention.
  • The name of the association "concepts" was modified on the model to "ThesaurusConcept" to match the name used in the XML Schema. This can be changed if necessary.
  • The name used in the XML Schema for the association between ThesaurusConcept and SimpleNonPreferredTerm is called "NonPreferredTerm". The model has been changed to reflect this decision.
  • The decision was taken to nest the definition of the preferred terms and the non-preferred terms inside the definition of the concepts. Therefore the diamonds representing "aggregation" were added to the model.
  • The decision was taken to nest the definition of the node label inside the definition of the array. Therefore the diamonds representing "aggregation" were added to the model.
  • The decision was taken that the association between an array and its sub-ordinate would be accomplished using an association of the type ID/IDRef rather than an "aggregation" or "Composition". Therefore the diamonds were removed from the model.
  • The model was modified so more than one scope note and more than one history note can be associated with one concept. This is to allow an application to record notes in multiple languages.
  • The model was modified so that the relationship "references" starts from the class "Note" rather than "ScopeNote". This is because in the XML Schema, the references are stored in the element "LexicalValue" of the complex type "NoteStructure".

The model of BS8723-5-Full can be downloaded as a UML file to be edited with StarUML from the following location

Model.uml.

The model of BS8723-5-Full can be downloaded as an image from the following location

Model.jpg.

Model

2 - XML Schema

The XML Schema for BS8723-5-Full is available at the following location.

BS8723-5-Full.xsd.

Note that this schema uses some of the BS8723-5-Core schemas.

It is recommended to use an XSD editor to open the XML Schema. Please consider using a tool such as the following.

A documentation of the schema generated with xsddoc is available at this location.

XmlSchemaDocumentation.

When designing the XML Schema, the following guidelines have been followed.

  • A complex type has been defined for each class of the model.
  • To follow GovTalk guidelines the name of a complex type always terminates with "Structure".
  • Also, to differentiate between the BS8723-5-Core an BS8723-5-Full schemas
    • The name of a complex type in the BS8723-5-Core schema finished with "CoreStructure".
    • The name of a complex type in the BS8723-5-Full schema finished with "FullStructure".
  • To follow GovTalk guidelines the name of a simple type always terminates with "Type".
  • Also, to differentiate between the BS8723-5-Core an BS8723-5-Full schemas
    • The name of a simple type in the BS8723-5-Core schema finished with "CoreType".
    • The name of a simple type in the BS8723-5-Full schema finished with "FullType".
  • When possible, BS8723-5-Full types extend BS8723-5-Core types.
  • An element in the complex type has been defined for each attribute of a class.
  • When relevant, the Dublin Core naming convention was followed for the elements.
  • The XML Schema was defined under the namespace http://schema.bsi-global.com/BS8723-5/. A better URI may be needed, (maybe an http://purl.org/... URI). It would be recommended to use a URI that points to a web site specific to BS8723-5. Alternatively, a URN can be used instead of an http URI (e.g. "urn:BS8723-5:schema").
  • The choice was made to nest the definition of "HierarchicalRelationshipType" inside the definition of "Thesaurus". Individual "HierarchicalRelationship" relationships may reference a "HierarchicalRelationshipType" via a association of the type ID/IDRef. Please, look at the XML Schema for more details. The same approach was taken for:
    • "AssociativeRelationshipType" and "AssociativeRelationship".
    • "EquivalenceType" and "Equivalence".
  • Also, the definition of scope notes is nested inside the definition of concepts and terms.
  • The relationships narrower/broader, related/related and USE/UF are implemented using relationships of the type ID/IDREF.
  • The choice was made to keep the definition of "CompoundEquivalence" separate from other form of equivalence by nesting it into the Thesaurus. The choice was made nest the definition of "CompoundNonPreferredTerm" inside the definition of "CompoundEquivalence" and to reference the preferred terms via a relationship of the type ID/IDRef. The choice was made not to represent the relationship between "CompoundNonPreferredTerm" and "ThesaurusConcept" to avoid redondancy. This could be added if necessary.
  • The relationship SuperOrdinate/HasMember between arrays and concepts or between arrays and others arrays has been implemented using a relationship of the type ID/IDRef.

3 - Schematron Schema

The Schematron Schema for BS8723-5-Full is available at the following location.

BS8723-5-Full.xml.

Schematron is used to perform additional validation such as the following.

  • Consistency between arrays and concept hierarchical relationships
  • Validation that only one preferred term per concept is defined in monolingual thesaurus
  • Consistency between narrower and broader
  • Consistency between USE and UF