domain_model
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
domain_model [2011/02/16 15:45] – kai | domain_model [2011/03/29 22:50] (current) – [RDF Implementation] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Domain Model ====== | ====== Domain Model ====== | ||
- | This page contains the description and documentation of the domain model that is proposed by the DC-Provenance task group. It is not yet finalized and currently regarded as work in progress. See the revision history of this page for earlier drafts. The group members agreed on the basic model that is preented | + | This page contains the description and documentation of the domain model that is proposed by the DC-Provenance task group. It is not yet finalized and currently regarded as work in progress. See the revision history of this page for earlier drafts. The group members agreed on the basic model that is presented |
The main part of the current model is the definition of the classes and their relations, as illustrated in the following UML class diagram: | The main part of the current model is the definition of the classes and their relations, as illustrated in the following UML class diagram: | ||
{{domain-model-classes3.png|}} | {{domain-model-classes3.png|}} | ||
- | |||
- | Namespaces: | ||
- | * dcam ([[http:// | ||
- | * dcprov : Namespace of the domain model. To be defined. | ||
The proposed model extends the [[http:// | The proposed model extends the [[http:// | ||
Line 41: | Line 37: | ||
The " | The " | ||
- | The cardinality of 1 on the side of the Description Set indicates that an Annotation must only be related to a single Description Set. The same Annotation cannot be associated with more than one Description Set; firstly, | + | The cardinality of 1 on the side of the Description Set indicates that an Annotation must only be related to a single Description Set. The same Annotation cannot be associated with more than one Description Set for two reasons; firstly, to be compliant with the DCAM definition of Description (" |
- | Annotations are aggregated in Annotation Sets, just as Descriptions are generally aggregated in Description Sets. | + | Annotations are aggregated in Annotation Sets, just as Descriptions are generally aggregated in Description Sets. The main difference between these lies, once more, in cardinality. Whereas the association of a Description with a Description Set is optional, this does not hold for the association between an Annotation and an Annotation Set. An Annotation has to be part of at least one Annotation Set; conversely, every Annotation Set aggregates at least one Annotation. |
- | The first row reiterates the entities of the DCAM. The second row of the domain model contains the new classes required by the metadata provenance application profile, which in itself are specifications of their corresponding DCAM counterparts. | + | The rationale for this cardinality constraint is mainly to enable basic discoverability of Annotations. Since (1) a variety of relationships are used for annotating description sets, and (2) not all entities associates in that manner with a Description Set may be metadata provenance related, the Annotation Set provides a general means of retrieving metadata provenance information. |
+ | |||
+ | In addition, this constraint ensures that Annotations can be further annotated by associating higher-level Annotations with a lower-level Annotation Set. | ||
+ | |||
+ | @@The first row reiterates the entities of the DCAM. The second row of the domain model contains the new classes required by the metadata provenance application profile, which in itself are specifications of their corresponding DCAM counterparts. | ||
===== What is the third level? ===== | ===== What is the third level? ===== | ||
Because an Annotation Set is a Description Set, an Annotation Set can itself be annotated by means of a further Annotation Set, i.e. we can capture provenance information for Annotation Sets as well. The model is able to handle an arbitrary number of meta-levels. | Because an Annotation Set is a Description Set, an Annotation Set can itself be annotated by means of a further Annotation Set, i.e. we can capture provenance information for Annotation Sets as well. The model is able to handle an arbitrary number of meta-levels. | ||
+ | ===== Vocabulary for the Annotations ===== | ||
+ | |||
+ | It has to be distinguished between the vocabulary that is introduced by the Domain Model (dcprov: namespace) and the vocabulary that is used to create the actual annotations. In the latter case, the common Dublin Core Vocabulary (dcterms) is used to state provenance information like creator, creation date, sources, contributors, | ||
+ | |||
+ | The model for sure allows the use of arbitrary vocabularies as annotations and the mix of Dublin Core and other Vocabularies is perfectly ok, in the same way as it is common practice in usual application profiles. | ||
+ | |||
+ | ====== RDF Implementation ====== | ||
+ | |||
+ | The abstract domain model has to be expressed to elements offered by a specific data model to be useful. The following illustrates a way to annotate RDF (meta-)data with provenance annotation. | ||
+ | |||
+ | # Named graph: http:// | ||
+ | @prefix dct: < | ||
+ | @prefix dctype: < | ||
+ | | ||
+ | :MonaLisa dct:format dctype: | ||
+ | dct:creator : | ||
+ | |||
+ | # Named graph: http:// | ||
+ | @prefix dct: < | ||
+ | | ||
+ | < | ||
+ | dct:creator :BnF . | ||
+ | | ||
+ | < | ||
+ | | ||
+ | These triples describe two separate RDF graphs. | ||
+ | | ||
+ | {{: | ||
+ | |||
+ | The following table shows how some of the RDF resources map to their corresponding UML classes of the domain model. | ||
+ | |||
+ | ^ RDF ^ UML | ||
+ | | :MonaLisa dct:creator : | ||
+ | | < | ||
+ | | < | ||
+ | | < | ||
+ | |||
+ | Our example consists of two statements about the resource '': | ||
+ | Statements that are part of this graph are considered annotations, | ||
====== Issues and further Ideas ====== | ====== Issues and further Ideas ====== | ||
* Superclass of Description Set necessary? Domain/ | * Superclass of Description Set necessary? Domain/ | ||
domain_model.1297867537.txt.gz · Last modified: 2011/02/16 15:45 by kai