- From: pat hayes <phayes@ai.uwf.edu>
- Date: Sat, 19 May 2001 21:15:18 -0500
- To: Sandro Hawke <sandro@w3.org>
- Cc: www-rdf-logic@w3.org
>pat: > > sandro: > > > pat: > > > > sandro: > > > > >The idea (I think) is that the languages are themselves just > > > > >ontologies. > > > > > > > > That doesn't make sense. Really, it doesnt. What you could do, is to > > > > use an ontology to describe the SYNTAX of another language, which is > > > > in fact what you are doing in your example. But then you need to > > > > somehow USE that syntax to say what you need to say, not just REFER > > > > to it. > > > > > >What is the difference between an ontology and a language? > > > > Like that between programs and programming languages. Ontologies are > > written in languages. Once the rules of the language are given, then > > you can write lots of different ontologies in it; but without the > > language, you can't get started. It would be like writing code in a > > language that hadnt been invented yet, and expecting it to compile > > itself. > > > > > They both > > >involve parties communicating using some shared notions about the > > >structure of their domain of discourse and some symbols with shared > > >denotation, as far as I can tell. > > > > But the ontologies consist of assertions about the domain only by > > virtue of the semantic rules supplied by the language they are > > written in. > >I agree that one can express an ontology in a language. In that case >clearly the ontology and the language are different things. > >My question is about when you use them each to communicate about the >same domain. An ontology for discussing fruit -vs- a language for >discussing fruit. Hmmm. A language for describing fruit would have to have a semantics of fruit, which is quite a stretch for a formal semantics. >Is DAML+OIL an ontology for discussing ontologies, >or a language for discussing ontologies? Neither, it is a language for describing classes, mostly. A set of DAML+OIL assertions *is* an ontology; it doesn't *describe* an ontology. > >I think the ontology is somewhat more abstract -- it can't have its >own syntax -- but I'm not sure where to draw the line. Maybe an >ontology for fruit + a logic language (eg FOL) == a language for >discussing fruit? That would be my way of putting it, yes. Logic makes a distinction between logical and nonlogical vocabulary (== reserved word vs. identifier), where the logical vocabulary is all the marks whose meaning is determined by the language itself (eg the connectives, quantifiers, maybe things like modalities, whatever) and the rest (constant symbols, relation and function names) is just names as far as the logic is concerned, so it you want them to mean something then you have to write axioms(/sentences/rules) to specify their meanings. (There are some interesting issues here, BTW, eg do you consider '=' to be logical or nonlogical? If its logical you don't need to write axioms like (forall (?x ?y)(implies (= ?x ?y)(= ?y ?x)))), but you do need to implement your reasoner so that it checks all the cases of equality and inequality. ) You would expect a reasoner to guarantee that inferences involving logical symbols work out right (ie are valid wrt the semantics) but it would treat nonlogical symbols just as blank names, and any meanings they are supposed to ahve would arise from reasoning over the axioms that use them. By an 'ontology' I mean just a collection of axioms. > Here I'm thinking of an ontology as a vocabulary >(a set of symbols denoting mostly properties of fruit) with a shared >understanding of their meaning. Ah, thats not quite what I mean. In the formal ontology world, 'ontology' means more like a set of axioms which are supposed to represent that shared understanding. > >But if we're layering on ground atomic binary predicates, then what's >the difference? What's the difference between an ontology for fruit >layered on that base and a language for fruit layered on that base? The difference is that an ontology would assume the semantics of that base, and that would be its logical symbols. So if they couldnt say very much, it won't be able to say very much. I'm not sure what a layering a *language* on a base means, but if it means implementing the language on that base as a datastructure (eg say implementing prolog in LISP) then the semantics of the base is irrelevant, and the layered *language* would presumably have its own semantics, which might be completely different from that of the base. The difference is whether 'layering on' means using as a language with a semantics, or using as in implementation technique, ie encoding in datastructures. Does this all make sense to y'all? I guess it seems so second-nature to me that its hard to see how not to see it this way. Pat Hayes --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Saturday, 19 May 2001 22:15:15 UTC