« CIDOC-CRM Project に戻る

Multiple Inheritance and Realization Approaches

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
Multiple Inheritance and Realization Approaches
community class relation documentation
答え
14/03/27 11:12
As ADOxx does not support direct multiple inheritance, this situation requires alternative implementation. The following realization proposal stem from the CIDOC-CRM project and are related to the implementation work done within the scope of the project.

The attached graphic describes the challenge of multiple inheritance from the ADOxx perspective.
画像の固定

添付ファイル: MultipleInheritancec_Challenge.png (59.4k)

Implementation Proposal 1: Abstract Class as intermediate layer
答え
13/07/26 10:38 Wilfrid Utzへのコメント
The following realization proposal builds on adding an abstract class as an intermediate layer. Consider the following descibed steps, shown also graphically in the image attached. In addition a sample implementation is available in the attached package.

Sample Realisation of Solution 1: as attachment to this post


a) Abstract class is introduced to define all attributes necessary for the sub-class.
b) E has aRx and bR‘y, so it can be modelled. As bRy is semantically not the same as bR‘y, queries need to consider both (e.g. a union of bRy and bR‘y)
画像の固定

添付ファイル: CIDOC_MultipleInheritance_Implementation-1_FINAL.zip (214.9k), MultipleInheritancec_Implementation1.png (55.5k)

ImplementationProposal 2a: Pointers as Relations
答え
13/07/26 10:38 Wilfrid Utzへのコメント
The following realization proposal builds on pointers as relations. Consider the following descibed steps, shown also graphically in the image attached. In addition a sample implementation is available in the attached package.

Sample Realisation of Solution 2a: as attachment to this post


a) Abstract class is introduced to define all attributes necessary for the sub-class.
b) E has aPx and bPy, so it can be modelled as pointer and can be queried by pointer name. For visual represenation of the pointer, additional drawing of generic relation is necessary. As pointers are instance attributes, the search needs to consider the query of instance attributes.
画像の固定

添付ファイル: CIDOC_MultipleInheritance_Implementation-2a_FINAL.zip (219.8k), MultipleInheritancec_Implementation2a__.png (103.9k)

Implementation Proposal 2b: Pointers as Relations
答え
13/07/26 10:38 Wilfrid Utzへのコメント
The following realization proposal builds on pointers as relations. Consider the following descibed steps, shown also graphically in the image attached. In addition a sample implementation is available in the attached package.

Sample Realisation of solution 2b - Version 1: as attachment to this post
Sample Realisation of solution 2b - Version 2: as attachment to this post

a) Abstract class is introduced to define all attributes necessary for the sub-class.
b) New additional pointer is introduced.
c) E has aPx, bPy and ePy, so it can be modelled as pointer and can be queried by pointer name. For visual represenation of the pointer, additional drawing of generic relation is necessary. As pointers are instance attributes, the search needs to consider the query of instance attributes.
画像の固定

添付ファイル: CIDOC_MultipleInheritance_Implementation-2b_1.1_FINAL.zip (223.8k), CIDOC_MultipleInheritance_Implementation-2b_FINAL.zip (221.7k), MultipleInheritancec_Implementation2b__.png (106.9k)

Implementation Proposal 3: Relation Type based resolution
答え
13/07/26 10:38 Wilfrid Utzへのコメント
The following realization proposal builds on relation type based resolution. Consider the sample implementation is available in the attached package.

Sample Realisation of Solution 3: as attachment to this post
画像の固定

添付ファイル: CIDOC_MultipleInheritance_Implementation-3_FINAL.zip (215.1k), MultipleInheritancec_Implementation3_.png (69.2k)

Implementation Proposal 4: Script based resolution
答え
13/07/26 10:39 Wilfrid Utzへのコメント
The following realization proposal builds on a script-based resolution approach. Consider thesample implementation as available in the attached package.

Sample Realisation of Solution 4: as attachment to this post
画像の固定

添付ファイル: CIDOC_MultipleInheritance_Implementation-4_FINAL.zip (231.2k), MultipleInheritancec_Implementation4_.png (103.3k)