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

 


Help: OASIS Mailing Lists Help | MarkMail Help

plcs-dex message

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


Subject: SV: SV: SV: SV: FW: [plcs-dex] Unique constraints -> identification and versioning


Hi David, 

I have at least three purposes of having this discussion with (mainly) you.
First, I want to influence the development of RD in a way I find appropriate for PLCS and for FMV, secondly I want the discussion about RD to start among a wider audience so that this work gets going, and last, I want to learn more so I can make correct assesments of the work when it's started.

I believe you have a deeper knowledge in OWL and its application to RD than I (currently) do. And if you, during this discussion manages to explain facts to me in a convincing way, I will have no problem in switching position in such matters. But we're not there yet... ;o)

There is an advise saying;
"It's better to be quiet and have people think you're an idiot, than to open your mouth and divert all doubts"
For now I choose to ignore this piece of adwice and continue the discussion!

See comments below...

Regards,
  Mats

P.S.
 A question; I think of the terms "concept" and "class" of beeing almost synonymns (meaining; "the idea you picture in your head when you hear a certain term"). Is this correct in your opinion?


-----Ursprungligt meddelande-----
Från: David Price [mailto:david.price@eurostep.com] 
Skickat: den 21 december 2006 13:43
Till: plcs-dex@lists.oasis-open.org
Ämne: Re: SV: SV: SV: FW: [plcs-dex] Unique constraints -> identification and versioning

Hi Mats,

This reply is only concerned with the class id being a number vs words.

Is your view that Class ids need to be meaningless based in the question of 
guaranteed uniqueness being simpler, or is there some other rationale?

<mats>
  My view is based on my perception of the OWL-format having
  the 'rdf:ID' and the 'rdfs:label' elements, which makes it obvious (simpliest) to use
  the 'rdf:ID' as an ID, which in a perfect world would be unique and correspond
  only to one well defined concept/class, and to use the 'rdfs:label' for the term
  (in whatever language you prefere and allowing synonyms) used in the classification.

  Of course, we can still use an ID that is interpretable to people understanding English,
  but I believe we should also then demand the use of 'rdfs:label" in parallell!
  This would of course make my FMV dictionary look a bit strange with some Ids beeing
  english words, and some meaningless strings (which would be the case when a 
  concept/class isn't a part of the PLCS domain but exists in the FMV dictionary).
  It won't be easy for me to live with this but I believe it's not impossible!

  The use of 'rdfs:label' is a must in order to create a swedish dictionary that explains
  that a; "individnummer" is an "seriell identifierare" that is an "identifierare", and
  not having to say that; a "individnummer" is an "serial identifier" that is an "identifier".
  And yes, I forsee that we from Sweden will add swedish terms and add translations in
  swedish of the english definitions in the core PLCS reference data, i.e. of the entities!

  Another aspect of this is that we Swedes could then create an edition of the PLCS
  information model with all entities in Swedish, and the same for a number of other
  countries in their languages. Think of what this could mean in respect to promoting
  the standard... ;o)
</mats>

For example, this view seems to similar to how engineering orgs use Part Numbers 
to identify designs in their PDM systems. Do you hope to reuse PDM software 
in your org? 

<mats>
  No such plans.
</mats>

A second, perhaps implied, concern seems to be unhappiness at a choice having 
to be made about a natural language for the class id?  My view is that 
reference data is simply more modeling in the domain covered by the PLCS 
schema and so the use of the same sort of conventions makes things simpler 
and more consistent. I can also see internal implementations where the 
reference data and EXPRESS are processed together to form a complete model 
(perhaps in OWL, perhaps in UML, etc) and consistency is useful in that case 
as well.

<mats>
  Partly covered by the translation section above.
</mats>

On your suggestion that eOTD used numbers so PLCS RD should, I'd suggest that 
this shows a fundamental difference in approach and is indeed at the heart of 
the issue. The eOTD, and other similar standards, do use codes rather than 
words. I contend that all these coding approaches are the result of the 
earlier use of codes within relational databases where varying length strings 
are costly. People have simply taken an implementation tradeoff in RDBs and 
exposed them in the real world.

<mats>
  Why don't we ask Gerry Raddack about this?!.
</mats>

However, for the PLCS scenarios we've chose 
to use a semantic language to expose the meaning of the term, and potentially 
enable reasoners over PLCS data, and which is Web-enabled via URIs. 
Therefore, the rationale for using codes doesn't apply in PLCS-land.

My view is that Classes are not like Part designs or RDBs, Classes are part of 
a vocabulary (or ontology or taxonomy whichever term suits you)

<mats>
  I prefere vocabulary or taxonomy rather than ontology.
  But I don't have a clear view of any of these concepts/terms...
</mats>

and so using natural language makes more sense. I still can't imagine why anyone would 
prefer "RD0494049404" to "SerialNumber" as part of a URI that identifies a 
class in an ontology.

<mats>
  I think people would prefere "serial number" to "SerialNumber" in their classifications, 
  so you'd still need the 'rdfs:label', right?!
  An easy to use application that replaces/hides "RD0494049404" or "SerialNumber" with
  "serial number" is what I think people would prefere...
</mats>

To me, it's clearly more efficient to have a 
meaningful, if sometimes overloaded term, than a random number because 
people's time and potential errors costs more than any gain in computer 
processing. Maybe I'm missing something though?

On your comments wrt OWL label vs equivalentClass - label is not used during 
reasoning but equivalentClass is, that's why it's useful ... not that label 
isn't useful.

<mats>
  Is there any rules that guide "reasoning", or are you with the phrase
  "label is not used during reasoning" actually saying that "the current
  software tools doesn't use the label element"?
</mats>


Cheers,
David











On Thursday 21 December 2006 07:53, mats.nilsson@fmv.se wrote:
> Kind of what I suggested in the last of my examples then... ;o) Good we
> agree!
>
>                   -------------------------------------
> <class>        -> Class id: RD039405951
>                   Label: BEA serial sumber (en)
>
>                   Descriptive text (en);
> "is a"         -> a
> <superclass>   -> <RD039405950>
> <..features..> -> applied to BEA assets according to BEA rules.
>                   -------------------------------------
>
> Regards,
>   Mats
>
>
>
> -----Ursprungligt meddelande-----
> Från: David Price [mailto:david.price@eurostep.com]
> Skickat: den 20 december 2006 16:48
> Till: plcs-dex@lists.oasis-open.org
> Ämne: Re: SV: SV: FW: [plcs-dex] Unique constraints -> identification and
> versioning
>
> Sean makes a very good point. There's a useful convention for defining
> classes in an ontology used by some of the Oil and Gas folks that makes
> Sean's comments explicit:
>
> A <class> is a <superclass> that <distinguishing features of this
> particular subclass>.
>
> so in my example you'd have:
>
> A SerialNumber is an IdentificationCode that is one of a series assigned
> for identification which varies from its successor or predecessor by a
> fixed discrete integer value.
>
> I thought this was an excellent convention.
>
> Cheers,
> David
>
> On Wednesday 20 December 2006 11:58, Barker, Sean (UK) wrote:
> > Just to add a further strand to this discussion, Aristotle noted that
> > definition goes by genus and species, that is, that a definition
> > identifies what class of thing you are defining (genus), and how it
> > differs from other things in that class (species). This has two
> > implications.
> >
> > Firstly, any single term in a taxonomy is determined by its context, that
> > is, the full path from the root concept down to the term. In practice,
> > humans infer the path directly from context, and homonyms do not cause
> > any particular linguistic community any great problems (although it is a
> > problem between different communities such as the UK and the US). In an
> > OWL ontology, this will only cause problems if the reference to the term
> > is ambiguous because the reference does not define the full context. (PS
> > Tank is a particularly bad example to choose for homonyms - the term was
> > originally a cover word from the 1914-18 war to fool the Germans that
> > water tanks not AFVs were being delivered to the front line.)
> >
> > Secondly, and embarrassingly obviously, the most important part of a
> > classification is the classification criteria, that is, the (real world)
> > criteria that one uses to decide whether what is falling on my head is
> > fine rain, drizzle, mist, rain, spitting, heavy rain, a downpour, cats
> > and dogs or sleet. The concepts are not "out there" waiting to be written
> > down, but essentially an arbitrary choice of how many terms are needed to
> > divide up the concept space and where the term boundaries are.  The term
> > "essentially arbitrary" implies that we may choose to make different
> > choices. In practice, the choices are based on the "forms of life" that
> > we need to distinguish - in industrial terms, the processes. When, as you
> > were going out of the door, your mother shouted at you "its raining",
> > this was not a statement about the amount of water falling from the sky,
> > but an injunction to put a coat on.
> >
> > The idea that concepts are "out there" has been very influential (since
> > at least Plato's "Republic"), but I suspect is a short cut we use in our
> > thinking. In practice, the use of a term invokes many connotations -
> > implied classifications and associations - which is why terminology
> > debates are so confrontational and tediously long winded as these are
> > teased out. My biggest concern in this whole discussion is that most of
> > the definitions are being written using this "out there" thinking, rather
> > than being explicit on when to use one term or when to use another in the
> > same class. The danger is that we will produce a standard in geek speak -
> > it works for the technologist, but not for the user.
> >
> > I am now going on holiday until the new year, so merry Christmas and a
> > happy new year.
> >
> >
> > Sean Barker
> > 0117 302 8184
> >
> > -----Original Message-----
> > From: mats.nilsson@fmv.se [mailto:mats.nilsson@fmv.se]
> > Sent: 20 December 2006 08:43
> > To: plcs-dex@lists.oasis-open.org
> > Subject: SV: SV: SV: FW: [plcs-dex] Unique constraints -> identification
> > and versioning
> >
> >                *** WARNING ***
> >
> > This mail has originated outside your organization, either from an
> > external partner or the Global Internet. Keep this in mind if you answer
> > this message.
> >
> >
> > Hi,
> >
> > (See P.S. statement regarding the attachment and my approach to this
> > discussion) (I've copied the section from David answer below on which I'd
> > like to comment on)
> >
> > >  I understand the question now. From what I've seen on the Semantic
> > > Web, the  best practice is to use a (somewhat) human-interpretable
> > > name for the  identifiers of classes in an ontology (within the
> > > limitations of what you can  use in a URL or URI).  I agree that the
> > > use of rdfs:label is the proper way  to specify the "name" of the class
> > > for use in browsers and GUI applications. However, I don't see any
> > > advantage in not following the Semantic Web practices. I've never
> > > really understood why anyone would want classes with  ids like
> > > rd0049404 when they can have SerialNumber.
> >
> > 1. I'm not sure that the "Semantic Web best practice" is something we
> > should pay to much attenention to, because imho PLCS Reference Data and
> > Semantic Web ontologies are not that closely related, even though we use
> > the same XML application (i.e. OWL) for the representation.
> >
> > 2. There will sooner or later be a case when homonyms appear in the same
> > ontology. For now I have the two examples 'Tank' (container for liquid
> > -or- combat vehicle) and 'Stone' (a unit of mesure -or- a primitive tool
> > for emergency repairs). Both these examples are homoonyms likely to
> > appear in the same domain (even though the 'Stone' example is a bit
> > far-fetched...). In this case there still has to be a
> > 'Stone(tool)'/'Stone(unit)' notation in order to separate them. A
> > "meaninless" id string would bo more efficient.
> >
> > 3. You (David) did not comment on the real-world (...FMV...) fact that
> > more than one word (synonyms) exists as "labels" for the same class.
> > Which one should be used for the id? The use of the OWL "same_as"
> > construct with separate classes (with identical definitions) is to me a
> > more complicated way then using 'rdf:label' for the words and a
> > "meaninless" id string for the class as a whole.
> >
> > 4. In the "interoperability" or "multilingual" oriented world there could
> > also be a reason to keep the 'rdf:ID'='external_class.id' as a
> > "meaninless" id string, in order to allow "labels" in different languages
> > and not beeing forced to use an English word as the identifier... Why not
> > adopt (what I think is) the eOTD approach. What they do and what we do
> > are quite similar when it comes to "concept management" (where
> > concept=id+label(s)+definition). Their "Core Model" (and perhaps the "FMV
> > concept management information model"... (attached)) might be something
> > to take a look at.
> >
> > I'm glad we got the discussion started! I hope more will join in...
> > Reference Data is a key aspect to PLCS which in my opinion still is a bit
> > too loosely defined.
> >
> > Regards,
> >   Mats
> >
> > P.S.
> >   The attached "FMV concept management information model" is still at a
> > draft level (and has yet no descriptive text). Its purpose is to be the
> > base for the definition of an XML based format for the representation of
> > terminology used within FMV (and in the long run also for the Swedish
> > armed forces). A project for addressing "concept management" will start
> > at FMV in january with me as the projet leader.
> >
> > In order to be able to classify PLCS data correctly, the classifications
> > should be based on a defined terminilogy. FMV doesn't have that today. In
> > order for PLCS to work - this must be established! The aim of the project
> > is first to create an infrastructure (data format, applications,
> > processes, information/education and organisation), and then to launch
> > the
> > organisation and the work of creating a defined terminology. The
> > infrastructure section of the project should be completed before summer!
> > My ambition is, as far as it is possible, to use OWL in the same way as
> > the OASIS PLCS TC specifies its use (something we'll soon have to agree
> > on and do...) for our (FMV) terminology data format.
> >
> > This might explain some of my opinions expressed above and earlier...
> >
> >
> >
> >
> > -----Ursprungligt meddelande-----
> > Från: David Price [mailto:david.price@eurostep.com]
> > Skickat: den 19 december 2006 17:30
> > Till: plcs-dex@lists.oasis-open.org
> > Ämne: Re: SV: SV: FW: [plcs-dex] Unique constraints -> identification and
> > versioning
> >
> > Hi Mats, See below for two replies. Cheers, David
> >
> > On Tuesday 19 December 2006 09:38, mats.nilsson@fmv.se wrote:
> > > Hi David,
> > >
> > > This is one of your examples of a "class.id URI";
> > >
> > > >> urn:iso:std:iso:ts:10303:-1017:ed-1:tech-taxonomy:Part
> > >
> > > If I understand you correctly, you suggests to include both the URI
> > > for the RDL ("urn:iso:std:iso:ts:10303:-1017:ed-1:tech-taxonomy") as
> > > well as the class identifier ("Part") in the 'external_class.id' (the
> > > 'id' attribute in the 'external_class' entity).
> > >
> > > I thought (see the last of my three slides)
> > > 'external_class_library.id' was going to be used for the URI of the
> > > RDL, and that the identifier within the RDL (i.e. 'external_class.id')
> > > only should contain the actual "classification" or "term" identifier,
> > > in your example "Part".
> >
> > I don't think that works because of the other issues I mentioned (i.e.
> > there are multiple ontologies involved and one ontology has to be
> > identified as the context ontology). The context ontology is the most
> > organization-specific ontology that uses the more general and standard
> > ontologies. External_class_library is really the only entity type in PLCS
> > that makes sense for that requirement and so I think there should be one
> > instance of it that all the External_class entity instances point to
> > (actually I don't think it's a big problem if there are multiple
> > instances of External_class_library as long as they all refer to the same
> > URI. So, if you've followed and agreed with the logic of requiring a
> > context ontology then I think it's clear that the External_class.id needs
> > to be the full URI.
> >
> > For what it's worth, I think people have been assuming that
> > "urn:oasis:plcs" was "the reference data library", when in fact in
> > real-world usage that is unlikely to be the case. The RDL that is the
> > context for an exchange is actually the ontology developed by the using
> > organization with its extensions to the PLCS standard classes which is
> > imported in read-only mode. Because of the flexibility enabled by the use
> > of the OWL language, it's important to have that context ontology named
> > in the exchange file. If you look at some of the OWL APIs you'll see that
> > they often force you to supply an ontology when you'd think only a class
> > is required as input. That's because the same class can have different
> > subclasses *and* superclasses (not to mention properties) depending on
> > how it is extended in using ontologies.
> >
> > > Please help me understand if I've got things wrong! If someone else
> > > has an opinion, please help David help me...
> > >
> > >
> > > Now over to your question David. In my not so organized world (I call
> > > it
> > > FMV...) people use more than one term for the same concept
> > > (concept=class). OWL has the 'rdfs:label' element, which makes it
> > > possible to assign more than one term for each class. This is useful
> > > for me because the guys who drive helocopters and those who drive boats
> > > often have
> > > different terminology, and I can use this functionality to make them
> > > understand each other and the data they send. There is also this need
> > > to be "interoperable" within e.g. the EU Battle Groups or NATO joint
> > > operations, and then we swedes meet people that uses the word
> > > "lubricate" for what we call "smörja"...
> > >
> > > To accompish this I'd like to use a "meaningless" identifier for the
> > > 'external_class.id' field, e.g. "rd000453" (or with versioning
> > > "rd000453v1"), and then use the 'external_class.name' field for the
> > > readable classification (i.e. one of the available 'rdfs:label's in
> > > the RDL/OWL-file).
> > >
> > > This was what I meant by the question;
> > >
> > > >> David: How do you suggest the label used for classification should
> > > >> be identified in case there are multiple labels for the same
> > > >> class/RD?
> > >
> > > If I have both "lubricate" and "smörja" in the same class (that is a
> > > subclass of 'activity'/'task') with some unique id, I need to specify
> > > which one is used.
> > >
> > > Clearer? Or don't you see this scenario with synonyms and multiple
> > > languages (used for the same class/concept)?
> >
> > I understand the question now. From what I've seen on the Semantic Web,
> > the best practice is to use a (somewhat) human-interpretable name for the
> > identifiers of classes in an ontology (within the limitations of what you
> > can use in a URL or URI).  I agree that the use of rdfs:label is the
> > proper way to specify the "name" of the class for use in browsers and GUI
> > applications. However, I don't see any advantage in not following the
> > Semantic Web practices. I've never really understood why anyone would
> > want classes with ids like rd0049404 when they can have SerialNumber. The
> > only rationale I've heard that made any sense to me was related to
> > handling the uniqueness of ids but since we're engineering the reference
> > data I don't think the cost in human understandability is outweighed by
> > the small benefit of slightly easier uniqueness. That said, I also think
> > that the PLCS RD should be broken up into sub-ontologies on a
> > domain-by-domain basis for manageability, subsetting and to help with the
> > overloading of terms.
> >
> > All that said, I'm not sure that the External_class.name is really useful
> > for transfering rdfs:label values. I'm not sure of the business need for
> > that for a start. If the External_class.id is the full URI then that's
> > sufficient for an application to process. If for some reason the
> > rdfs:label is needed then I think name_assignment is the only way to
> > handle the fact that a class may have multiple rdfs:label values for
> > different languages. However, it seems to me it's better to keep all the
> > labels in the ontology itself rather than duplicating them in the
> > exchange file.
> >
> > > Regards,
> > >   Mats
> > >
> > >
> > >
> > > -----Ursprungligt meddelande-----
> > > Från: David Price [mailto:david.price@eurostep.com]
> > > Skickat: den 18 december 2006 18:05
> > > Till: plcs-dex@lists.oasis-open.org
> > > Ämne: Re: SV: FW: [plcs-dex] Unique constraints -> identification and
> > > versioning
> > >
> > > Hi Mats, a few replies follow (although I'm confused by one question.
> > >
> > > On Monday 18 December 2006 07:51, mats.nilsson@fmv.se wrote:
> > > > Questions below...
> > > > Happy for opinions!
> > > >
> > > > Regards,
> > > >   Mats
> > > >
> > > > >> David: Could you please give an example of what an (external)
> > > > >> class.id URI could look like?
> > >
> > > It would be a URN or a URL depending on what organization defines it
> > > the class and the approach they happen to have adopted. It would be
> > > the compete URI for the class though it's technically only the
> > > identifier and so may not be sufficient for location (e.g. if it's a
> > > URN then some other means would have to be established for an
> > > application/user to find more info about the class ... for example, an
> > > organization might have to buy an ISO standard). Examples could be:
> > >
> > > urn:iso:std:iso:ts:10303:-1017:ed-1:tech-taxonomy:Part
> > >
> > > http://schema.omg.org/spec/UML/2.1/ParameterDirectionKind
> > >
> > > http://www.madeupdod.mil/ActivityOntology#Training
> > >
> > > > >> David: How do you suggest the label used for classification
> > > > >> should be identified in case there are multiple labels for the
> > > > >> same class/RD?
> > >
> > > I don't understand what "the label used for classification" means. Can
> > > you rephrase the question or explain that phrase?
> > >
> > > Cheers,
> > > David
> >
> > --
> > Mobile +44 7788 561308
> > UK +44 2072217307
> > Skype +1 336 283 0606
> >
> >
> >
> > ********************************************************************
> > This email and any attachments are confidential to the intended
> > recipient and may also be privileged. If you are not the intended
> > recipient please delete it from your system and notify the sender.
> > You should not copy it or use it for any purpose nor disclose or
> > distribute its contents to any other person.
> > ********************************************************************

-- 
Mobile +44 7788 561308
UK +44 2072217307
Skype +1 336 283 0606


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