On Feb 5, 2009, at 8:24 AM, Ian Bailey wrote:
Phew! Thanks Matthew - very nicely explained ! I was beginning to hope
someone would come in and save me before I mired myself ever deeper in this
debate. I would go a bit further though. I would argue you can have the same
(e.g. higher-order) ontology and represent it in two different RDFS
projections. The first would only use first-order constructs, and the second
would use higher-order constructs. It's still the same ontology, I've just
chosen not to use some bits of RDFS that would make the ontology scare the
level five wizards. In ISO15926, the classes, and indeedtype-instance
relationships, happens to be represented in EXPRESS, and instantiated as a
line in a P21 file (or a as muddle of XML in a P28 file).
Pat made a good point though - yes it would be downright silly to
deliberately confuse the use of RDFS - e.g. using rdf:Type to represent
motherOf would be daft. However, I would like to be able to use something
other than rdf:type to relate types and instances if I want to present a
higher-order ontology to the flat-worlders.
OK, and now I speak as an official RDF spec-writer: go ahead! That is perfectly fine and fair use of RDF. Its one of the ways of using it that I and others (maybe not all :) of the original WG members had in mind when we designed it. RDFS is just one RDF vocabulary/theory, one that we provided because we thought it would be widely useful, but we envisioned that there would be many others.
However, that freedom notwithstanding, if you are avoiding rdf:type because you think its too first-orderish, I urge you to look again at RDFS more carefully. There are no restrictions at all on what you can apply it to. In RDFS, (as opposed to OWL-DL), a class can be in another class, even in itself; you can have classes of classes of properties which apply to classes, you can mix and match freely. Higher-order away to your hearts content in RDFS.
PS - I'm not sure about where this idea of a mental model of an ontology
came from. I never mentioned it, and I certainly don't have an ontology in
my head. Of course the ontology has to be represented in some way - CL,
RDFS, OWL, UML, EXPRESS, arse-barcodes, who cares ?
What is this thing that is in common between al these different file formats? Where is it, if not in your head? This is rather like the old chestnut of saying what exactly a program is, if you can write the 'same' program in several wildly different programming languages. For example, quicksort can be implemented in just about any programming language, and its still quicksort. In CS we have the useful distinction between algorithm and program, maybe we need a similar terminological distinction for ontologies. Any suggestions?
IHMC (850)434 8903 or (650)494 3973
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32502 (850)291 0667 mobile