- From: Richard H. McCullough <rhm@pioneerca.com>
- Date: Wed, 13 Aug 2008 16:02:27 -0700
- To: "Ian Emmons" <iemmons@bbn.com>, "Semantic Web at W3C" <semantic-web@w3.org>
- Cc: "KR-language" <KR-language@YahooGroups.com>
Hi Ian
This is a nice illustration of the problems that arise when
"extra" classes of the form XType, YType, ... are created.
This unnecessarily "corrupts" the concept hierarchy.
A simple alternative is to use sets or enums.
In this case, I recommend:
EnumeratedVehicleType isany truck, cargo plane, ...; # enum
V isalt EnumeratedVehicleType; # alternative
If you want to use sets:
EnumeratedVehicleType isall truck, cargo plane, ...; # set
V ismem EnumeratedVehicleType; # member
Dick McCullough
Ayn Rand do speak od mKR done;
mKE do enhance od Real Intelligence done;
knowledge := man do identify od existent done;
knowledge haspart proposition list;
http://mKRmKE.org/
----- Original Message -----
From: "Ian Emmons" <iemmons@bbn.com>
To: "Semantic Web at W3C" <semantic-web@w3.org>
Sent: Wednesday, August 13, 2008 12:20 PM
Subject: Re: singleton sets
>
> Frank,
>
> Thanks for making this distinction clear -- I had a suspicion that the
> discussion was confusing these concepts, but I skipped several of the
> intervening messages, and I wasn't sure.
>
> This may or may not be a useful interjection, but the level of
> abstraction in this discussion is a little high, so I thought a
> concrete example might help. I encountered a situation where "X
> type Y; X subClassOf Z;" seemed to be useful. Our application
> modeled transportation assets, and it also drew its data from a
> relational database. So, we had a table of vehicles that had (in the
> ugly manner of an RDB) a column VehicleType, which contained one of an
> enumerated list of possible types (1 for truck, 2 for cargo plane, 3
> for containerized cargo ship, etc.). Once a row from this table was
> translated into RDF, we wanted to classify the type of vehicle via an
> RDF class, so we created a taxonomy of vehicle classes with an entry
> for each of the enumerated vehicle types. This yields the following:
>
> x type V; V subClassOf Vehicle;
>
> Where things got messy was when we realized that our RDF
> representation needed to retain the enumerated vehicle type code. To
> do this we added the type code as a data type property of the vehicle
> class, like so:
>
> x type V; V subClassOf Vehicle; V hasTypeCode t;
>
> As we usually do, we gave the hasTypeCode property a domain
> (EnumeratedVehicleType), and so the obvious inference yields the
> following:
>
> x type V; V subClassOf Vehicle; V hasTypeCode t; V type
> EnumeratedVehicleType;
>
> In particular:
>
> V subClassOf Vehicle; V type EnumeratedVehicleType;
>
> I'm sure we could have modeled this differently so as to eliminate the
> subclass-and-type pattern, but this seemed to be the nicest way to
> handle it to us. Hopefully it's a compelling use case for this
> discussion.
>
> Cheers,
>
> Ian
>
>
>
> On Aug 13, 2008, at 10:59 AM, Frank Manola wrote:
>
> On Aug 12, 2008, at 5:05 PM, Richard H. McCullough wrote:
>
>>
>> Here's someone else who doesn't like singleton sets,
>> and hence doesn't like classes which are individuals.
>>
>> John Barwise & John Etchemendy (1992), "The Language of First-Order
>> Logic",
>> Third Edition, Revised & Expanded, Center for the Study of Language
>> and Information, Stanford, Page 212
>>
>> Suppose there is one and only one object x satisfying P(x).
>> According to the
>> Axiom of Comprehension, there is a set, call it a, whose only member
>> is x. That is,
>> a = {x}. Some students are tempted to think that a = x.. But in
>> that direction lies,
>> if not madness, at least dreadful confusion. After all, a is a set
>> (an abstract object)
>> and x might have been any object at all, say Stanford's Hoover
>> Tower. Hoover is
>> a physical object, not a set. So we must not confuse an object x
>> with the set {x},
>> called the singleton set containing x. Even if x is a set, we must
>> not confuse it with
>> its own singleton. For example, x might have any number of elements
>> in it, but {x}
>> has exactly one element: x.
>>
>
>
> Whoa! What we were originally talking about wasn't singleton sets, it
> was the following question:
>
>>>>>>
>>>>>> 2. X type Y; X subClassOf Z;
>>>>>> Another neat property: X is an individual and a class.
>>>>>> Now I can ... What? I don't know.
>>>>>> Why do you want to do that?
>
> Wanting to be able to treat a class X as an individual may or may not
> be a good idea, but this isn't the same as wanting to treat a
> singleton set as *the same* individual as its only member. To
> paraphrase your quotation above, in the direction of subtle subject
> changes like this lies, if not madness, at least dreadful confusion.
>
> --Frank
>
>
Received on Wednesday, 13 August 2008 23:06:02 UTC