[Top] [All Lists]

Re: [oor-forum] Ontologies vs Theories / Axioms vs Rules

To: OpenOntologyRepository-discussion <oor-forum@xxxxxxxxxxxxxxxx>, Ali SH <asaegyn+out@xxxxxxxxx>
From: Bijan Parsia <bparsia@xxxxxxxxxxxx>
Date: Wed, 19 Oct 2011 16:42:11 +0100
Message-id: <8BD1BF1E-B06A-4E88-8AAE-DFCB92227233@xxxxxxxxxxxx>
On 19 Oct 2011, at 16:20, Ali SH wrote:

Dear Pat and Bijan,

On Tue, Oct 18, 2011 at 6:52 PM, Pat Hayes <phayes@xxxxxxx> wrote:
Guys, you have to adapt your terminology to the people you are trying to communicate with. In the OWL/RDF/RIF/Semantic-Web/LInked-Data world, there is no such thing as an 'inference rule'.  (If there were, it would be a line of code inside an inference engine; but most inference engines don't work that way in any case, but instead build tableaux. The textbook terminology of formal logic has not been used in the applied ontology world for about the last two decades.)

Thank you for your discussion and clarification, it's been very helpful! 

Allow me to attempt re-phrasing what's been said. In contrast to a paradigm for ontologies like Cyc, whereby one tries to model the domain as faithfully and completely in one formalism and then delegates reasoning tasks based on the analysis of this expressive representation;

Is that how Cyc works? That's not my understanding, but whatever :)

in this context we have more of a bottom-up, a priori engineered approach?


Before you begin your representation, you partition your domain into different types of knowledge and use a variety of representation / rule languages to capture different parts of intuitions. Simplifying greatly, does this fairly capture the essence of the paradigm?

Not for me.

I'd put it this way in both cases: You pick your language based on a variety of factors, most likely what your overly-enthusiastic friend forces on you, then do the best you can with the toolset available. With a formalism like OWL, we've made a basic tradeoff of expressivity in favor of computability (plus some other choices to improve usability). So, we have a nice set of tools that work rather well and an expanding suite of services (cf recent work on explanation or module extraction/dependency analysis). Our problem is that we have to work around expressivity limitations. A danger is that our world view becomes warped to those limitations.

The problem with super expressive logics such as Common Logic is, roughly, the tool support sucks and probably sucks for the forseeable future. (FOL reasoners are superawesome, but I still can't get a simple formalization of the Allan calculus in terms of "meets" to verify before o before -> before! The usual line I get from by FOL ATP peeps is "So, what decidable fragment does it fall into.) The advantage is, of course, expressivity (which can be a disadvantage, too, of course): You can say what you need to say, mostly, and usually rather directly. The problem is that you can't do much with it or check it very well. If you do use tools you often end up having to warp your representation to those tools. (Cf Rieter's Knowledge In Action for a very clever and systematic way of doing it...most of the time it's not so nice.)

Pick your poison :)

All this said, I'm still a touch flummoxed at being able to adequately and consistently distinguish an axiom from a rule. For example, the standard inheritance / subclass relation of:

(forall (x) (if (dog x) (animal x)))

is supported by virtually all DL's. It seems like it could be a rule to me.

In logics with a deduction theorem (or subsets there of) the distinction isn't big.

I mean, Pellet or Racer would be able to use the class structure in an OWL-DL ontology to tell me that the properties of Animals apply to Dogs.

But they use a refutation mechanism, not "triggering" the rule.

In the end, I don't think the distinction in a general sense is worth getting all as worked up about it as many rule folks do. Just consider the particular formalism you are dealing with, note the syntax and semantics and how the commonly used proof procedures work, and move on. That it's a "RULE" language or *not* a rule language is, well, meh. Or, rather, mostly ideological.

[PH] So, now, let us switch back to logical terminology, and I will put scare quotes around the earlier usages. Are 'rules' axioms? Yes, pretty much, if we are talking baout the Horn-clause style of rule; although there are 'rule' languages which allow one to say things that cannot be said in normal logics, eg default assumptions, negation-by-failure, closed-world presumptions, etc.. 


[BP] No as true anymore [re inference rules]. "Consequence" based reasoning is becoming more popular esp. in restricted fragments such as EL, e.g.,

Given these two statements, and putting aside the sociological issues for a moment, in this case, one can determine whether something is a "rule" really only in the context of the expressivity of a particular representation language? Roughly, anything that can't be represented in the formalism is considered a rule?

That would make rule langauges odd.

The simple rule of thumb is the union of horn clauses with implicitly univerisally quantified explicit variables (usually with variables bound to names) or IF-THEN productiony conditions is a rule. Everything else is not. Some non rules are equivalent to some rules.

I.e. say I want to represent a fragment of law, I can only decide what is a rule by first deciding which formalism and reasoner I'm using, then anything that couldn't be expressed in said language is a candidate for a rule? 

Or you could just not care. That its a rule in some generalized sense is really quite pointless. That it can be expressed in the formalism that you want to use is important.

In summary, what one means by a rule is wholly dependent on what representation language one deploys?

No, my summary is: Don't get hung up on this bit of terminology. It's not remotely helpful.

Other people I've spoken to suggest that there is fundamentally something distinct about the notion of a rule from what should be contained in an ontology, which seems like a different issue altogether?

They are wrong.

 They suggest that "concepts and rules" should be treated separately. 

This seems to be, at best, at a different level of conceptualization than the formalism.

The description provided by Pat seem more to do with engineering, while those in the previous sentences hinge on a particular interpretation of ontology. 

Yeah, I wouldn't get hung up on what an "ontology" is either. Yet Another Rathole.

In the end, it shouldn't really affect what you're trying to do. If you need to represent something, you need to represent it. If you put it in your "ontology" rather than in your "rule base", but the answers are the same, does it *really* matter?


Message Archives: http://ontolog.cim3.net/forum/oor-forum/  
Subscribe: mailto:oor-forum-join@xxxxxxxxxxxxxxxx 
Config/Unsubscribe: http://ontolog.cim3.net/mailman/listinfo/oor-forum/  
Shared Files: http://ontolog.cim3.net/file/work/OOR/ 
Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OpenOntologyRepository     (01)
<Prev in Thread] Current Thread [Next in Thread>