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


Ken,

You reply definitely makes sense. You've brought some new ideas I'll 
implement in our software. Thank you for your insights.

Eric.

On 2/9/2011 10:38 AM, G. Ken Holman wrote:
> At 2011-02-08 22:24 -0600, ericdes wrote:
>> Yes, I'm sure I need to word it a bit differently...
>
> Well, I'm pretty sure I know what you are asking for and I'm pretty 
> sure it is magic if my earlier answer didn't help you.
>
>> 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'.
>
> Right.  And there is no magic available.  The program has to have some 
> information to say that "Spain" and "SPAIN" represent the same concept.
>
>> 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?).
>
> Because of brevity, mnemonic, accuracy and convenience.  Using the 
> payment means code "51" is more accurate, concise and convenient than 
> trying to type "FR, norme 6 97-Telereglement CFONB (French 
> Organisation for Banking Standards) - Option A" correctly every time.  
> Using the country code "US" is more mnemonic than using the numeric 
> "840".
>
>> 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).
>
> Actually, "E20" represents a "megabit per second" in the international 
> code list for units of measure:
>
> http://docs.oasis-open.org/ubl/prd1-UBL-2.1/cva/UBL-DefaultDTQ-2.1.html#d27e1 
>
>
> ... but I know what you are getting at is you are trying to find 
> something for which a key doesn't exist.
>
>> 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.
>
> Sure ... and a PSI URI would be a way to do that in the genericode.
>
>> 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: 
>> http://en.wikipedia.org/wiki/Megabit_per_second#Megabit_per_second
>>
>> 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),
>
> Sure!  That is a nice thing about a PSI, is that it can point to 
> anything and the more descriptive of what it points to, the easier it 
> is for a *human* to understand what it is.  But to a program it is 
> just a string.
>
> If the PSI is found in the middle of a topic map, and the program 
> knows how to infer relationships in a topic map, then perhaps the 
> program can do a fair-to-middlin attempt at guessing what the concept 
> is.  The more relationships it has to work with, the better.  But the 
> program has to know the semantics of what your semantic is related to.
>
>> 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.
>
> Sounds like an ISO 13250 Topic Map to me.
>
>> How would the program handle this?
>
> By inferring the relationships between concepts expressed in a 
> bidirectional graph represented by a topic map.
>
> But not in a simple taxonomy of a genericode file.
>
>> Well, it could parse the data retrieved from the URI and try to learn 
>> what it means, probably with the help of a person.
>
> You've articulated the objective of Topic Maps ... relate information 
> to other information so that programs can infer indirect relationships 
> to better help understand the concept being referenced.
>
>> 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.
>
> And that is why bodies like ISO come up with country code lists, 
> currency code lists, payment means lists, units of measure lists, etc.
>
>> 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 meaning.
>
> In a simple collection of value-level metadata fields associated with 
> codes, probably only if there is a "primary key" (as you called it) 
> valued field.
>
> "Semantic discovery" cannot be undertaken lightly.  Entire computing 
> fields of study are devoted to this concept.  I subscribe to the Topic 
> Maps way of expressing the relationships between concepts (from which 
> one can infer the semantics).  There happens to be an XML 
> serialization of a Topic Map (and I was on the original committee for 
> this).  If I have two genericode files and there is a column of 
> value-level metadata with a PSI in it and the two PSIs are the same, I 
> could assume the values represent the same semantic.  If the two PSIs 
> are not the same URI, then I need something like a Topic Map to tell 
> me the two different PSI's represent the same concept.
>
> It can't be magic.
>
> And I'm not trying to be flippant, I'm just saying that genericode is 
> a simple serialization of a conceptual sparse-table model.  You could, 
> perhaps, have one genericode file point to the URI of another 
> genericode file and try to infer relationships of some kind by making 
> a graph of genericode files, but I think that is going too far.
>
> I don't think this means genericode is faulty!  Genericode simply 
> meets the need of associating metadata with a list of codes and 
> associating metadata with individual codes in that list.  Full stop.  
> What the metadata is for the codes is up to you.  What that metadata 
> content means is up to you.  When you adopt interpretations that are 
> internationally standardized, then you will have interoperability with 
> other parties that made that same adoption of the international values.
>
> When dealing in a realm where there are no such international values, 
> then you have to come up with a way of identifying the semantics.  A 
> PSI to a human description makes sense to me.  Using that PSI in a 
> Topic Map and relating the concept to other concepts could help a 
> program identify the role of the concept without a human being 
> involved.  But that is a much bigger topic than genericode and CVA.
>
> Have you heard of RDDL?  Resource Directory Description Language:   
> http://rddl.org  I subscribe to using RDDL to encode machine readable 
> information in XHTML human readable documents.  You might find using 
> RDDL in the XHTML document at the URI of your PSI may give your 
> program more information to work with without going all the way to 
> using Topic Maps.
>
> I hope this helps.  Please continue to ask questions if I haven't made 
> myself clear.
>
> . . . . . . . . . . . . . Ken
>
> -- 
> Contact us for world-wide XML consulting & instructor-led training
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/c/
> G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: clr-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: clr-dev-help@lists.oasis-open.org
>
>


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