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/09 15:59] – michael | domain_model [2011/03/29 22:50] (current) – [RDF Implementation] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Domain Model ====== | ====== Domain Model ====== | ||
- | Final first draft version, | + | 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 |
+ | |||
+ | 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: | + | The proposed model extends the [[http:// |
- | * dcam ([[http:// | + | |
- | * dcprov | + | |
- | Classes: | + | |
- | | + | * Description (from [[http:// |
- | * Description (from [[http:// | + | |
* Statement (from [[http:// | * Statement (from [[http:// | ||
- | * Annotation: One or more statements | + | * Annotation: One or more -> Statements |
- | * Annotation Set: A set of one or more annotations. | + | * Annotation Set: A set of one or more -> Annotations. Subclass of -> Description Set. |
- | The domain model shown in the diagram | + | The DC-PROV |
- | - how the new annotation | + | - how the new Annotation |
- | - how an annotation | + | - how an Annotation |
- | At this point, the domain model does not attempt to describe the makeup of an annotation set in the specific context of metadata provenance, i.e., it does not yet provide an element vocabulary needed to put together a concrete //metadata provenance// | + | At this point, the domain model does not attempt to describe the makeup of an Annotation Set in the specific context of metadata provenance, i.e., it does not yet provide an element vocabulary needed to put together a concrete //metadata provenance// |
- | ===== What a metadata provenance annotation? ===== | + | ===== What is a metadata provenance annotation? ===== |
- | As stated in the UML diagram, | + | As stated in the UML diagram, |
- | This means that every annotation set is also a description set in the sense of the DCAM, and can be treated as such. So why not just stick with the DCAM entities? | + | This means that every Annotation Set is also a Description Set in the sense of the DCAM, and can be treated as such. So why not just stick with the DCAM entities? |
- | The motivation of deriving subclasses in the first place was that the main rationale of an annotation is to provide information about a description set, i.e., about // | + | The motivation of deriving subclasses in the first place was that the main rationale of an annotation is to provide information about a Description Set, i.e., about // |
- | Also, the annotations | + | Also, the Annotations |
===== What does a metadata provenance annotation describe? ===== | ===== What does a metadata provenance annotation describe? ===== | ||
- | Annotations are associated only with description sets. Description | + | Annotations are associated only with Description Sets. Description |
- | The cardinality of 1 on the side of the description set indicates that an annotation | + | The " |
- | Annotations are aggregated | + | 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. 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 | + | The rationale for this cardinality constraint is mainly to enable basic discoverability |
- | ===== What is the third level? ===== | + | In addition, this constraint ensures |
- | Because a AS is a DS, that means that an A can be used to capture prov inf of another AS! | + | |
- | ====== Issues and further Ideas ====== | + | @@The first row reiterates the entities |
- | * Superclass | + | |
+ | ===== 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. | ||
- | ====== Earlier versions | + | ===== Vocabulary |
- | Version based on telco of Dec 22th: | + | 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, |
- | {{https:// | + | 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. |
- | Source files ([[http:// | + | ====== RDF Implementation ====== |
- | * https:// | + | |
+ | 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 : | ||
- | Version based on the telco of Dec 15th: | + | # Named graph: http:// |
+ | @prefix dct: < | ||
+ | |||
+ | < | ||
+ | dct:creator :BnF . | ||
+ | |||
+ | < | ||
+ | |||
+ | These triples describe two separate RDF graphs. | ||
+ | |||
+ | {{: | ||
- | {{https:// | + | The following table shows how some of the RDF resources map to their corresponding UML classes of the domain model. |
- | {{https:// | + | |
+ | ^ RDF ^ UML | ||
+ | | :MonaLisa dct:creator : | ||
+ | | < | ||
+ | | < | ||
+ | | < | ||
- | Source files ([[http://www.yworks.com/ | + | Our example consists of two statements about the resource '' |
- | * https:// | + | |
- | * https:// | + | |
- | ---- | + | Statements that are part of this graph are considered annotations, |
- | + | ====== Issues and further Ideas ====== | |
- | Previous drafts: | + | |
- | + | ||
- | + | ||
- | {{https:// | + | |
- | + | ||
- | + | ||
- | Source files ([[http:// | + | |
- | * https:// | + | |
- | | + | |
- | + | ||
- | A comparison model for discussion (Michael): | + | |
- | {{: | ||
domain_model.1297263586.txt.gz · Last modified: 2011/02/09 15:59 by michael