OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

clr-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [clr-dev] Philosophy behind the CVA contracts


Yes, I'm sure I need to word it a bit differently... What I asked 
previously was:

- if I use ES as the country code for Spain, a program will eventually 
find from the ISO list that it is 'SPAIN'.
- But using a CVA contract with a partner, the same program will find 
that the code SP is for e.g. 'Spain'.

Now the question is how this program might find that 'Spain' is the same 
entity as 'SPAIN'. Here you'll notice that I didn't use the same cases 
to differentiate both entities. You replied that ISO is now providing a 
number to identify countries and I thought that if such a universal 
primary key exists then it's a matter of simply mapping the codes to the 
keys, or better yet don't use the codes at all, and use directly the 
primary keys (why would we need an overhead?).

But I should take another example where I guess no universal primary key 
will apply, e.g. 'MBPS' for 'Megabits per seconds' (in a CVA contract 
#1) vs. 'Mb/s' for 'Mbits / seconds' (in a CVA contract #2). Now we have 
to find a way for the same program to understand that a value of e.g. 
512 MBPS is the same as 512 Mb/s.

I think that declaring the meaning of those notions would ideally take 
place in the Genericodes. And this could be done like this:

In Codelist #1 used in CVA contract #1, we state that the meaning of 
'MBPS' is linked to e.g. this definition: 

In Codelist #2 used in CVA contract #2, we state that the meaning of 
'Mb/s' is linked to e.g. this definition: 
http://searchnetworking.techtarget.com/definition/Mbps. But we could 
also add that we're also using another definition for the same notion 
with http://en.wikipedia.org/wiki/Megabit_per_second#Megabit_per_second 
as well.

I wouldn't see the definition as a primary key. The definition should 
link to a human readable text that unambiguously says what the entity is 
(I think this is missing from the ISO lists), or better yet a pool of 
servers publishing a web service that would serve the definition in a 
way that computers would understand (ontology?). In this specific case 
we could also envision that those web services would return some 
formulas to convert to other units.

How would the program handle this? Well, it could parse the data 
retrieved from the URI and try to learn what it means, probably with the 
help of a person. The goal is
- to not to have to modify the program each time we get a new CVA 
contract with new code lists,
- and also have programs work the same way as humans do with code lists, 
i.e. look up in a reference document.

Now it's very possible that genericodes as they are allow to do this. It 
was my question if there was something in CVA / Genericode that would 
help a program make the link between 2 different codes having the same 


> Using URIs is a very common way of identifying things ... in Topic 
> Maps there is the concept of the Published Subject Identifier (PSI), 
> which is a URI.  If you created a PSI for your concept (it could be 
> the Wikipedia URI) and put that in one of your columns it would look 
> like:
> <Row>
> <Value ColumnRef="code">
> <SimpleValue>USA</SimpleValue>
> </Value>
> <Value ColumnRef="name">
> <SimpleValue>UNITED STATES</SimpleValue>
> </Value>
> <Value ColumnRef="PSI">
> <SimpleValue>http://en.wikipedia.org/wiki/United_States</SimpleValue>
> </Value>
> </Row>
> But how is that PSI really different from the ISO number for a 
> country?  Both are just a lignuistically-neutral value for the 
> concept.  And all programs would need to know the PSI just as they 
> would need to know the number.
> Aren't your definitions in fact primary keys, just URIs instead of 
> numbers?
> Interestingly, in Topic Maps you can declare that two 
> differently-expressed PSI strings are representative of the same 
> semantic concept ... it is an aspect of merging topic maps ... it 
> helps to infer new relationships between pieces of information not 
> found in either of the individual Topic Maps.
> But genericode expresses a simple taxonomy or ontology ... nothing as 
> expressive as a Topic Map.
> Do you think there is something missing from genericode/CVA that would 
> help with your problem?  I'm not quite sure what the problem is that 
> is being addressed in this thread.
> I hope this helps.
> . . . . . . . . . . . Ken

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]