VO-DML uri element

Paul Harrison paul.harrison at manchester.ac.uk
Wed Jun 14 11:49:32 CEST 2017


> On 2017-06 -13, at 20:50, Markus Demleitner <msdemlei at ari.uni-heidelberg.de> wrote:
> 
> Hi DM,
> 
> On Tue, Jun 13, 2017 at 07:03:10AM -0400, Gerard Lemson wrote:
>> On Tue, Jun 13, 2017 at 3:59 AM, Paul Harrison <
>> paul.harrison at manchester.ac.uk> wrote:
>>> I notice that a recent change to the VO-DML schema introduces a <uri>
>>> element which is supposed to define a URI at which the data model can be
>>> found - in my opinion this is not a good idea. I understand the desire to
> [...]
>>> Each data model already has a "namespace" which is the <name> element and
>>> just having a rule such as the models being available at
>>> 
>>> http://www.ivoa.net/dm/name
>>> 
>>> would suffice for all "standard" models - though there could be a more
>>> arbitrary mapping mechanism set up between namespace and model URL such as
>>> is done with XML.
>>> 
>>> 
>> Indeed this mechanism is what we're trying to follow. If the description in
>> the document (still on volute, soon to be moved to IVOA doc library) is not
>> clear enough though we need to improve the text.
>> 
>> The URI attribute is *not* intended to be location of the document, but to
>> be dereferenced to the latest minor version. Different minor versions will
>> have same URI, but different "version" attribute. So together , uri+version
>> are a unique identifier of the actual version, uri only of the major
>> version.
>> 
>> But I expect Markus can explain this better.
> 
> Not really, as what I've suggested so far just tried making proposed
> practices work.  These, in turn, were inspired by XML Schema, where
> the actual identifier of a schema is its URI.  In XML instances, this
> URI is mapped to a (conceptually, if not in VO practice) arbitrary,
> short prefix.  This sort of prefix mapping was even explicitly done
> in early applications of utypes (you'll find it in early SSA, and
> even in the current 1.1 you'll see remnants in the examples in the
> appencides) -- which of course was an abomination.
> 
> Now, for VO-DML we claim that the prefix is unique per major version
> of a data model (which I think is an excellent idea).  This means we
> don't really need an XSD-style DM URI as an identifier any more, the
> prefix is enough.

I think that within the VO-DML identifiers domain the name acts as a unique namespace identifier, and having something else as another identifier might confuse things.
> 
> The only reason I wanted the DM URI in the VO-DML header is that in a
> model declaration in an instance document it was still required, and
> thus VO-DML writers would have had to maintain a prefix -> DM uri
> mapping.  That's a pain.

I agree that there needs to be a conventional mechanism for locating the data model instance files for a particular name - which was why I was suggesting something like the

http://www.ivoa.net/dm/name <http://www.ivoa.net/dm/name>

URL for a datamodel with namespace “name"

> 
> Now, if nobody actually wants this identifying DM URI, I'd be totally
> in favour of removing it (and saying the prefix identifies the DM,
> and if you absolutely must know the minor version (for which you
> should have no reason), look at @version), but it would have to go
> from the mapping's model declaration, too.
> 
> 
> But even if we decide there's no need for a DM URI to identify the
> DM, I have to say there's something to be said for allowing the
> declaration of URIs from where a writer would like a reader to pull
> the model file (in VO XSD practice, the two URIs typically conincide,
> but that's just a convention, and when there's not identifying URI,
> this whole question goes away -- I don't think anyone will miss
> @schemaLocation in VO-DML…).
> 
> At least for IVOA standard models, this dereferencable source URI
> would be advisory, of course.  Hence, if the mapping document said
> "Dump some URI into the model's URI child [or, if you ask me,
> attribute] that people can derference to pull the VO-DML file from;
> what exactly you use is up to you, but expect clients to use the
> official IVOA files for validation for official IVOA DM names,"
> that'd I think help quite a few applications, in particular with
> non-IVOA models.
> 

It could be useful in such a circumstance to indicate where to find the “official release”, but as I said in my original post, only probably useful if you have a copy lying around on your hard drive and have forgotten where it came from -  I noticed it because it was mandatory in the VO-DML schema and suddenly existing models were no-longer XML valid - I feel that it should probably be optional - In the short term the de facto official location of these models is the VO-DML project in volute - so clearly this information will have to be changed as each model is officially published as a standard.

Anyway in conclusion it is not a big deal to me whether the URI information exists or not for locating the model instance file - what I was really concerned about was that there was not going to be some other way of indicating the VO-DML identifier namespaces - and it is clear that is unchanged.

Paul.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/dm/attachments/20170614/eb97f74d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1905 bytes
Desc: not available
URL: <http://mail.ivoa.net/pipermail/dm/attachments/20170614/eb97f74d/attachment-0001.p7s>


More information about the dm mailing list