The LOC association class
LOC association is a hybrid class – one structure serving two different roles. Firstly, it represents the structure of a LOCstructure, relating LOCdefinitions together. Secondly, it provides a structure to hold properties that have more than one piece of information in them – called "compound properties". One set of these compound properties is the well-known Dublin Core ones relating a resource to agents, as creator, contributor, publisher and rights holder. Features of the InLOC Model, above, provides more detail.
|Definition:||class denoting relation or compound property of a learning outcome or competence definition or structure|
|Constraints:|| A LOCassociation instance shall not have more than one id property.
A LOCassociation instance shall have exactly one type property.
A LOCassociation instance shall have exactly one hasSubject property (with exactly one subject instance).
A LOCassociation instance shall have exactly one hasScheme property (with exactly one scheme instance).
A LOCassociation instance shall have exactly one hasObject property (with exactly one object instance).
A LOCassociation instance shall not have more than one number property.
|Notes:|| LOCassociations are tied directly to a LOCstructure, from which they inherit associated properties such as date and authorship. They cover relationships between LOCdefinitions, between LOCstructures, between LOCdefinitions and LOCstructures, and compound properties of LOCdefinitions or LOCstructures relating them to other structured information.
The classes subject, scheme and object are the main components of a LOCassociation, and the number adds a vital extra part to allow LOCassociations to represent level and credit information in the most useful way.
Model of LOCassociation class
Each LOC association has:
|id||0..1||HTTP URI||the identifier of the LOCassociation itself|
|type||1||URI vocab defined by InLOC: see type||the generic type of relation or compound property as defined by InLOC|
|hasSubject||1||subject||the subject of the relation or compound property|
|hasScheme||1||scheme||the specific scheme, relationship, compound property etc.|
|hasObject||1||object||the object of the relation, or the compound property values|
|number||0..1||decimal number – recommended: positive integer||for level and credit|
Direct and inverse LOCassociations
Where the subject and the object of a LOCassociation both have an id, and where the scheme id has a defined inverse (see InLOC properties), it may be possible to represent a LOCassociation either way round. InLOC does not specify which of two possible equivalent LOCassociations should be preferred. There are, however some constraints to be observed.
- Because the id of the subject is mandatory, it is not possible to represent a LOCassociation where the subject has no id. Such a LOCassociation shall always be represented with the subject representing the relevant LOCstructure or LOCdefinition that has an id, and the item without a specified id playing the role of object.
- To avoid possible confusion, if an object has a id, that id shall be represented explicitly as part of every LOCassociation object in which it occurs.
- InLOC makes no distinction between a direct and an equivalent inverse LOCassociation.
- InLOC attaches no significance to whether a LOCassociation is represented only directly, or with both direct and equivalent inverse LOCassociations, where both subject and object have explicit ids.