[utypes] (no subject)

Mireille Louys mireille.louys at unistra.fr
Tue Feb 7 14:41:56 PST 2012


Hi Omar,

here are a few comments on your proposal.
I find the graphs useful to explain the useful bits of an IVOA data  
model and how a serialisation may be derived from it.


On versioning:
I think a version number should specify a data model version instead  
of versioning individual entities.
A data model may need changes in a few of its entities , and therefore  
be updated in a new version of the data model.

Allowing a version number to each entity breaks the design logic of  
data models and may produce non interoperable aplications/services .

We dicussed how a customised new entity could be derived from an  
existing one in order to extend data models for some specific  
configurations. This means this extra entities are specified outside  
any data model , but documented in the service , application that is  
using it.
I think this can be hooked as a derived class of entity in a specific  
CustomisedEntity


more comments inserted below...

thanks for iterating on this on the list.
Cheers , Mireille


Omar Laurino <olaurino at head.cfa.harvard.edu> a écrit :

> Hi All,
>
> I am attaching two diagrams. One is an abstraction of the Data Modeling
> process and might not be included in the UTypes document. However, the
> Utypes document should refer to that diagram (maybe a Note?).
...
> Here is a description of the DM diagrams: a StandardDocument contains one
> or more Namespaces (Characterization, STC, Target, Spectrum, etc.). Each
> namespace has a label (char, stc, target, spec) which is used to resolve
> the Entities defined in each Namespace. For instance, char:Accuracy and
> spec:Accuracy are different Entities (different concepts).

> Also, Entities
> have versions. Thus, the qualified name of an Entity is ns:Name-x.y (e.g.
> char:Accuracy-1.0).
I am not so found of versioning elements , data models have been build  
for specific purposes and follow some logic.

You can serialize a SerializableEntity, which is an
> Entity with attributes that have concrete values: in particular they have
> UtypedValues, i.e. values associated to a Utype string. This values hold a
> reference to the actual attribute they refer to, through their utype. A
> serialization (a Document, or file) holds several instances of an Entity,
> one for each row.
Attribute is very ambiguous here. what about data model field , as  
part of a data model Entity?
> It also has a set of declarations. Note that the
> declaration is one of the few differences between my model and what we
> currently, implicitly, do. The other subtle differences should be clear in
> the following description.
>
What we currently have to correspond to your list of 'declarations'  
would be an XML instance document or a VOtable .

In the Class "Utypedvalue", the field 'attribute' is in fact a  
reference to the "Attribute" Class : it could appear as attributeRef,  
for instance ( or DataModelFieldRef)

...
> So, Entities have Attributes, according to the DM diagram. In my prototype,
> here is a description of a sample Namespace in a simple ASCII format
> (constraints are not included):

I agree with this reference to the attributes defined in the model .
This helps to distinguish the role of a Utype as "semantic path" in  
the data model from a data type (double, pair of double, ISOTIME  
string etc...) which is explicitely defined in  
datamodel::Attribute.dataType.


Mireille.




More information about the utypes mailing list