[Top] [All Lists]

Re: [ontolog-forum] Last Call: OWL 2 and rdf:text primitive datatype

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Mon, 27 Apr 2009 19:50:22 -0400
Message-id: <49F644BE.8020308@xxxxxxxxxxx>
Jonathan, Mike, Pavithra, and Ed,    (01)

As I said before, my primary concern was to clarify some confusion
about the use of the word 'class'.  It is sometimes used as a
synonym for 'set', sometimes for 'type', and sometimes in a way
that is not clearly one or the other.    (02)

But I admit that the word 'class' has long been used in various ways
in various systems and that trying to get people to stop using their
favorite terminology is not easy.  Therefore, I suggest that the
following convention be used to define the notion of class in
whatever system happens to use the word 'class':    (03)

  1. If in system X, the identity conditions for a class are
     determined by extension, then a definition of class in X
     should begin with a phrase similar to the following:    (04)

     "Every class in system X is a set such that...."    (05)

  2. If in system X, the identity conditions for a class are
     determined by intension, then a definition of class in X
     should begin with a phrase similar to the following:    (06)

     "Every class in system X is a type such that...."    (07)

This convention would allow people to continue to use the word
'class' whenever they feel the urge to do so, but it would clearly
specify whether a class is considered as a set or as a type.    (08)

Some detailed comments on previous comments:    (09)

JR> Regarding OWL's choice of 'type' vs. 'class', what one needs to
 > know is that RDF already had a notion of "type" when OWL started
 > making overtures, so when OWL DL came to be embedded in RDF, a
 > different term was needed, because there were RDF "types" that
 > were not OWL "classes"...    (010)

That indicates that both RDF types and OWL classes are defined by
intension (some rule or description rather than a set of instances).
That would imply that every RDF type is a type, and every OWL class
is a type.    (011)

Given the convention above, you could say something along the
following lines:    (012)

    Every OWL class is a type of entity specified by a document
    identified by a particular URI.    (013)

MB> I seem to recall that in OWL1, a Class could be understood both
 > as extensional (a set of individuals) and intensional (a class has
 > a collection of properties which would define the members of the
 > set, i.e. all individuals which have those properties are seen as
 > members of that set - so still effectively a set of individuals,
 > but arrived at differently).    (014)

In linguistics, there is a general principle that the intension
of a word (informally, its "meaning") determines its extension.    (015)

For example, the intensional definition of 'integer' or 'cow'
determines the set of all integers or the set of all cows.
If an OWL class is defined as a type, then the set of all entities
of that type would be the set of instances of that class.    (016)

PK> ... if you remove that word, it would create a gap from modeling
 > to implementation in software world!    (017)

My modified recommendation above provides an option for continuing
to use the word 'class' whenever people prefer to use that term.
But it provides a way of stating explicitly whether a class is
considered as a set or as a type.    (018)

EB> The percentage of computer science graduate students who are
 > incapable of searching the literature that is not available online
 > in PDF form must now be well over 75%, judging from the papers
 > I have read.    (019)

Not only students, but professors as well.  The citation statistics
now indicate that for papers published in the same year, the
average number of citations for papers available online is 10 times
the number for papers available only on paper.    (020)

EB> ... the concept of abstract types in programming languages goes
 > back to 1967 and Simula, and I have not been able to identify any
 > earlier published programming language that has a formal concept
 > of abstract type (including a search of Jean Sammet's survey,
 > published in 1968-9).    (021)

Jean Sammet was not inclined toward formal definitions.  Steve Zilles
has a good bibliography of the work in the 1960s and early '70s:    (022)

    http://csg.csail.mit.edu/CSGArchives/memos/Memo-75-1.pdf    (023)

Before he went back to MIT, Steve and I had been designing an
interesting system, but it was declared to be "too difficult" for
the IBM Endicott engineers to understand.  That was probably true.
I started scanning in our specification manual from March 1971:    (024)

    http://www.jfsowa.com/computer/afs/sl2.htm    (025)

EB> And therefore, unlike John, I can't fault software engineering
 > for having chosen "class" as the term for "abstract type",
 > regardless of the usage in other disciplines.    (026)

As I said above, I modified my recommendation to let people continue
to use their favorite terminology, but still clarify whether they
mean the word 'class' as a set or as a type.    (027)

John    (028)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (029)

<Prev in Thread] Current Thread [Next in Thread>