incorporation of an iso 19110 feature catalogue in csw ebrim dr kristin stock social change online,...
TRANSCRIPT
Incorporation of an ISO 19110 Feature Catalogue in CSW ebRIM
Dr Kristin Stock
Social Change Online, UKand
Centre for Geospatial ScienceUniversity of Nottingham
Introduction
Work completed under the EU funded MOTIIVE project.
Added an ISO 19110 Feature Type Catalogue to an ebRIM Registry.
Used the ebRIM Application Profile for CSW (WRS).
Created an extension package.
What is Motiive?
Marine Overlays on Topography for Annex II Valuation and Exploitation.
Examined cost-benefit of using non-proprietary standards for data harmonisation.
Marine domain.
FTC Registry one part of the larger Motiive project.
Main Partners (FTC)
Social Change Online: registry architecture, mapping, information model (Kristin Stock, Rob Atkinson).
EDINA: implementation of registry (Chris Higgins, Mark Small).
Science and Technology Facilities Council:content, web services (Andrew Woolf).
HR Wallingford: web services, project management (Keiran Millard).
What is an ISO 19110 Feature Type Catalogue?
A model for storing Feature Types and their:
Attributes;
Operations;
Associations.
Provides semantic content for data.
Includes inheritance between FTs.
Links attributes and operations.
Feature Types
Attributes Associations Operations
triggeredByaffectsobserves
has hashas
ebRIMService Information
Model
isImplementedBy
class ISO 19110
ExtrinsicObjectGF_FeatureType
FC_FeatureType
+ aliases: LocalName+ code: CharacterString+ definition: CharacterString+ isAbstract: Boolean+ typeName: LocalName
GF_AssociationType
FC_FeatureAssociation
GF_AttributeType
FC_FeatureAttribute
+ code: CharacterString+ listedValue: FC_ListedValue+ valueMeasurementUnit: UnitOfMeasure+ valueType: TypeName
GF_AssociationRole
FC_AssocationRole
+ cardinality: Mulitplicity+ isNavigable: Boolean+ isOrdered: Boolean+ type: FC_RoleType
GF_Operation
FC_FeatureOperation
+ formalDefinition: CharacterString+ signature: CharacterString
GF_InheritanceRelation
FC_InheritanceRelation
+ description: CharacterString+ name: CharacterString+ uniqueInstance: Boolean
CT_CatalogueRegistryPackage
FC_Catalogue
+ functionalLanguage: CharacterString+ producer: CI_ResponsibleParty
«CodeList»FC_RoleType
+ aggregation+ composition+ ordinary
FC_DefinitionReference
+ sourceIdentifier: CharacterString
FC_DefintionSource
+ source: CI_Citation
«DataType»FC_ListedValue
+ code: CharacterString+ definition: CharacterString+ label: CharacterString
GF_PropertyType
FC_PropertyType
+ cardinality: Multiplicity+ definition: CharacterString+ memberName: LocalName
+roleName
Role
+relation
+inheritsFrom +subType
+inheritsTo +superType
consistsOf
+triggeredBy
+affects
+carrierOfCharacteristics
memberOf
+featureType
+definitionReference
+definitionReference
+definitionSource
+definitionSource
+definitionReference
+observes
class ebRIM FTC
ebFC_Catalogue
«Slot»+ fieldOfApplication: InternationalString [0..*]
«Classification»+ functionalLanguage [0..1]
«Inherited»+ rim::name+ rim::versionInfo+ wrs::creator+ wrs::modified+ wrs::subject [1..*]
ebFC_FeatureType
«Slot»+ isAbstract: Boolean
«Inherited»+ rim::description [0..1]+ rim::l id+ rim::name
ebFC_PropertyType
«Slot»+ cardinality: String
«Inherited»+ rim::description [0..1]+ rim::name
ebFC_FeatureAttribute
«Classification»+ listedValue [0..*]+ valueMeasurementUnit [0..1]+ valueType [0..1]
«Inherited»+ rim::l id
ebFC_FeatureOperation
«Slot»+ formalDefinition: String [0..1]+ signature: String
The inheritance relation must be able to reference objects from different catalogues, because such objects may inherit from each other.
ebFC_DefinitionSource
«Inherited»+ wrs::source
ebFC_DefinitionReference
«Slot»+ sourceIdentifier: String [0..1]
This information model uses the generic association types included in ebRIM (RelatedTo, Uses, Extends, Implements, Affi i l iatedWith, EquivalentTo) to represent various semantic relationships between feature types. Itwould also be possible tospecialise these assocation types to create more specific types of relationships.
ebFC_AssociationRole
«Inherited»+ ebFC_PropertyType.cardinality
«Slot»+ isNavigable: Boolean+ isOrdered: Boolean
rim::Classification
+ nodeRepresentation: LongName
rim::Identifiable
+ home: URI+ id: URN
rim::Slot
+ name: LongName+ slotType: LongName+ valueList: Sequence of LongName
rim::RegistryObject
+ description: InternationalString+ lid: URN+ name: InternationalString+ objectType: ObjectRef+ status: ObjectRef+ versionInfo: VersionInfo
rim::RegistryPackage
rim::ExtrinsicObject
+ contentVersionInfo: VersionInfo+ isOpaque: Boolean+ mimeType: LongName
rim::ClassificationNode
+ code: LongName+ path: String
rim::ClassificationScheme
+ isInternal: Boolean
rim::Association
+ associationType: ObjectRef+ sourceObject: ObjectRef+ targetObject: ObjectRef
ebFC_Binding
«Inherited»+ rim::decription [0..1]
ebFC_InheritanceRelation
«Inherited»+ rim::description+ rim::name
«Slot»+ uniqueInstance: Boolean
rim::Serv iceBinding
ebFC_Constraint
«Inherited»+ rim::description
ebFC_FeatureAssociation
0..1
Parent
+sourceObject
1..*
«AssociationType =MemberOf»
+targetObject
1
+sourceObject 0..*
«AssociationType =ConstrainedBy»
+targetObject 0..*
+sourceObject
0..*
«AssociationType =TriggeredBy» +targetObject
0..*
0..*
0..*
hasMembers
0..*
0..*
+sourceObject 0..*
«AssociationType =MemberOf»
+targetObject
1
+sourceObject0..*
«AssociationType =SubTypeOf»
+targetObject0..1
+sourceObject0..*
«AssociationType =PropertyOf»
+targetObject0..*
+targetObject
«AssociationType= implements»
+sourceObject
+sourceObject 1..*
«AssociationType =MemberOf»
+targetObject 1
+targetObject0..*
«AssociationType =Contains»
+sourceObject 1
+sourceObject
0..*
«AssociationType In{Implements,RelatedTo,Uses,Extends,EquivalentTo,Affi l iatedWith}»
+targetObject
1
+sourceObject0..1
«AssociationType =Defines» +targetObject
0..*
+sourceObject
0..1 «AssociationType =Defines» +targetObject
0..*
+sourceObject
0..*
«AssociationType =Observes» +targetObject
0..*
+sourceObject
0..*
«AssociationType =Affects» +targetObject
0..*
Mapping to ebRIM (1)Classes from ISO 19110 mapped to specialisations of:
ExtrinsicObject;Association;RegistryPackage.
Attributes from ISO 19110 mapped to:ebRIM attributes where possible orebRIM Classification Schemes orebRIM Slots.
Relationships from ISO 19110 mapped to:ebRIM Associations with specified AssociationType;Some required additional attributes.
Mapping to ebRIM (2)
Used ebRIM data types.
The application profile (extension package) document contains full details of the mapping from each ISO 19110 element.
Draft: http://www.nottingham.ac.uk/~lgzwww/contacts/staffPages/kristinstock/documents/07-xxx_FTC_Extension_Package_for_ebRIM_ISOTS_15000-3_Profile_of_CSW_2.0.2_v0.1.doc
Creating the Information Model (1)
New classes: Extend the canoncial ObjectType Classification Scheme;New nodes under ExtrinsicObject;Handles inheritance.
Instances of existing classes:Specialisations of non-ExtrinsicObject classes;For example, ebFC_Catalogue.
Instances of associations.
Creating the Information Model (2)
Attributes that are classifications:New classification schemes;
Slots:Used ebRIM slots where possible;Used WRS slots where possible;New slots in the Slots ClassificationScheme;
New Association Types:New types in the AssociationType ClassificationScheme.
Association TypesUsed mainly existing ebRIM association types (RelatedTo, EquivalentTo, AffiliatedWith, Implements) to represent semantic relationships;
Added some new associations:between attributes and operations (TriggeredBy, Affects, Observes);
PropertyOf, SubTypeOf…
Recommend the creation of an AssociationType hierarchy for spatial relationships.
Stored Queries
Predefined queries for the extension package;
Added as Adhoc Queries (ebRIM);
Some need to be called recursively (e.g inheriting and implementing).
QueryName Parameters Returns
getFeatureTypes Feature Type id FeatureType records with specified id.
getFeatureTypeAttributes Feature Type id FeatureAttribute records for the feature type with the specified id.
getFeatureTypeOperations Feature Type id FeatureOperation records for the feature type with the specified id.
getFeatureOperationServiceBindings Feature Operation id Service Binding records that are linked to the feature operation with the specified id and their related Association record.
getFeatureOperationAttributes Feature Operation id FeatureAttribute records that are linked to the feature operation with the specified id and their related Association record.
getFeatureTypeAssociations Feature Type id FeatureAssociation records for the feature type with the specified id.
getInheritingFeatureTypes Feature Type id FeatureType records that inherit from (are children of) the feature type with the specified id.
getInheritedFeatureTypes Feature Type id FeatureType records that pass characteristics to (are parents of) the feature type with the specified id.
getImplementingFeatureTypes Feature Type id FeatureType records that implement (behave like) the feature type with the specified id.
getImplementedFeatureTypes Feature Type id FeatureType records that are implemented by (get behaviour from) the feature type with the specified id.
InheritanceProject sought to demonstrate how FTs could inherit from each other.Inherit:
AttributesOperationsAssociations.
Types of inheritance:is a = SubTypeOf;behaves like = Implements (multiple inheritance, for common characteristics).
Abstract Test Suite (2)Attributes Associations Operations Properties
associated with multiple features
Inheritance relationships included
[ISO 19110:2001] test module
FTC extension package test module
X - - - - A.17 A.15 X X - - - A.18 A.16 X X X - - A.19 A.17
X - - X - A.20 A.18
X X - - - A.21 A.19
X X X X - A.22 A.20
X - - - X A.23 A.21
X X - - X A.24 A.22
X X X - X A.25 A.23
X - - X X A.26 A.24
X X - X X A.27 A.25
X X X X X A.28 A.26
Extension Package Insert
Created a WRS Transaction Insert statement to add the definitions to the registry:
RegistryPackage;Classification Nodes for new classes;Classification Nodes for new association types;Classification Nodes for new slots;Stored queries.
Issues/Recommendations (1)
Model for associations in ISO 19110 very rich and expressive, but complicated and difficult to understand and implement.
Issues/Recommendations (2)
ISO 19110 makes relationships and operations dependent on a FT – but sometimes it may be desirable to model them separately.
Issues/Recommendations (3)
ebRIM + WRS does not allow slots to be constrained to define which slots are allowed for a particular class.