incorporation of an iso 19110 feature catalogue in csw ebrim dr kristin stock social change online,...

26
Incorporation of an ISO 19110 Feature Catalogue in CSW ebRIM Dr Kristin Stock Social Change Online, UK and Centre for Geospatial Science University of Nottingham

Upload: grant-thompson

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

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 (1)

Test cases for each class.

Combined test modules for subsets of classes.

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.

Example Data

Extension Package includes some example feature types.

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.

Issues/Recommendations (4)

Need for hierarchy of spatial association types.

Questions or Comments?