Talk:Description logic

From formulasearchengine
Jump to navigation Jump to search

Template:Philosophy Template:WikiProject Computer science

Concrete domains

What is a concrete domain?

To represent and reason values like integers and strings is difficult in Description Logic. eg: Age of a person is 4. Also different functions like comparison of numbers, concatenation of strings is difficult to reason. Concrete feature role connects an object to a value. eg: Shyam is 4 years old. Here "Shyam" is an object, "hasAge" is a datatype property and "4" is an positive integer. So the domain which has concepts and roles involving objects only is known as Abstract Domain. The domain which involves literals and the functions that can be performed on the literals is called Concrete Domain. Geetha nitc (talk) 16:11, 12 August 2013 (UTC) Basically a way to have datatype properties and predicates on them. For example age<18 See C. Lutz Description Lotics with Concrete Domains-A Survey Advances in Modal Logics v4 King's College 2003 21:06, 12 July 2007 (UTC)

Perhaps also domain theory. Not clear to me if "concrete" here is the same "concrete" as in concrete category. linas 15:33, 8 November 2007 (UTC)

DL Dialects

DL seem to be characterized by their features. For example the Web Ontology Language OWL is based on the ALCQHIR+ Description Logics dialect. Maybe this can be incorporated into the article. I am no expert on this. According to the letters have the following meaning

  • basic Description Logic (AL)
  • with negation (C)
  • qualified number restrictions (Q)
  • role hierarchies (H)
  • inverse (I)
  • transitive roles (R+)
  • unqualified number restrictions (N)

Maybe somebody with more background knowledge can elaborate on this.


OWL Lite is based on ALCR+HIF(D), OWL-DL is based on SHOIN(D) and OWL 1.1 is based on SHROIQ(D) although I'm not sure for the last one. Hope it helps.

Too Technical

Wow, I didn't understand a word of that, and I'm a fairly technical programmer with some knowledge of the Semantic Web. Why is this article (and many in this space) so impenetrable? A little more English and less jargon would be helpful for context or overview's sake.

Difficult to follow

I agree. The content as it is not very useful for someone who walked in with desire to know more about Knowledge representation and reasoning.

You are stuffing the page with jargons from get go; quote "terminological knowledge ... structured and formally ..". Phew...take it easy dude.

Breaking the content into syntax, semantics and modeling is not appropriate here. This is not a overview section in a journal whose audience are mildly familiar with description logic and the objective is to put you and the reader in the same framework.

Try to give the reader a sense of what it can do and how to do it. If it is the case that "description logic" is (or could be) applicable to real problems than it should be possible to write jargon-less introduction.

This paragraph gives a rough idea of how to structure the content: Description logic is one of the many languages for "Knowledge representation and reasoning. It is derived from frame languages (if that is the case) and but differs from them with respect to X,Y,Z. Developed at the peak of A.I., interest in this field is again gaining momentum in P,Q,R domain.

At this point introduce "Concepts", "instances" and "Hierarchy" Next bring roles/properties into the picture.

And then go on step by to talk about various other non-trivial aspect of DL and describe constructs related to it. For more sophisticated stuff point out to relevant text.

-Thanks Wkpdia san (talk) 18:36, 18 November 2007 (UTC)

Suggestions for clarification

I tend to agree with these comments --- the terms used in the discussion here sometimes make the page almost circular --- concepts are defined in terms of other concepts the reader is unlikely to know. Some suggestions:

  • the topic sentence defines description logics as "represent the terminological knowledge of an application domain...." "Terminological knowledge" is not a sufficiently common phrase that it should go without definition. Ideally you should give an intuitive equivalent to this in the topic sentence and, after that, introduce "terminological" with a definition.
  • I'd suggest presenting an example use of a DL in the topic paragraph to make this more concrete. E.g., the (now very tired) wine example.
  • The term "atomic concepts" is used without definition. It's not clear whether these are "atomic" in a sense like axiomatic --- they are not definable in the language --- or whether they are something simpler than that. Also, if concept names are atomic givens, how does the user of a description logic define new concept names?
  • I think it would be helpful to add an introduction to the syntax section to explain what this means. That is, we can talk about the syntax of the first order predicate calculus because, down to some pretty minor renamings, there is a single first order predicate calculus. But there seems to be a whole menagerie of DLs. So does this syntax section represent a kind of consensus syntax that most DLs would admit? Should the article talk here about variations in syntax?
  • Maybe put a link from the first mention of the top and bottom concepts in the syntax section into their definitions in the semantics section? I'm concerned that the reader will be lost far before s/he reaches the meat of the article.
  • In the semantics section explain that this is a denotational semantics and link to an article defining denotational semantics? I'm wondering what happens to readers who stumble on this article without background in logic.
  • Give a concrete example of an R-successor in the semantics section. E.g., the father-of George W. Bush is George H.W. Bush, so G.H.W. Bush is a father-of-successor of Dubya.
  • What does "Note that the TBox/ABox distinction is not significant, in the same sense that the two `kinds' of sentences are not treated differently in first-order logic..." mean? "same" as what sense? Should this just be "in the sense that"?
  • For that matter, if the TBox/ABox distinction is not significant, then why present it to the reader? I think the answer is that the distinction may not be semantically significant, but it is extremely significant with respect to the implementation of DLs in deductive databases.
  • For that matter again, the discussion of syntax here covers only the syntax of the TBox. You can't say "Bob is an employee" in the language generated by that syntax, because there are no individuals.
  • The article says "When translated into first-order logic, a subsumption axiom like (1) is simply a conditional restriction to unary predicates (concepts) with only variables appearing in it." For the reader to follow this, the article should give that translation. For that matter, I don't know what "a conditional restriction" is in first order logic. There is no notion of "restriction" in FOP. There is implication --- I believe the translation would be something like (forall x (implies (employee x) (person x))) [sorry, my wiki fu is not up to writing first order logic in anything more elaborate than prefix]. But I don't believe the author intends to say that this is just an implication. S/he is trying to say "an implication of a specific form," I believe, but the specific form in question needs to be defined.
  • "Modeling in description logics" is all about the TBox/ABox distinction and, unfortunately, says nothing about modeling with DLs. I'd suggest it be retitled as "TBox and ABox," and a modeling section added.
  • The term "Complex concept negation." is not defined.
  • The different forms of DL were created in attempts to trade off expressive power and computability. This article badly needs a brief discussion to say:
    • what are the decision problems of DLs? and
    • what is the complexity of these decision problems in the various dialects.
  • In "Differences with OWL," a brief definition of OWL would be helpful to remind the reader why s/he might care about this relation. The differences I believe, are not confined to the use of jargon. OWL comes in different flavors, with more or less direct relationships with DLs.

Alas, while I have enough background in logic and AI to make the above suggestions, I do not have any background in DL to speak of, and am certainly not qualified to actually act on these suggestions. Rpgoldman (talk) 15:46, 4 March 2008 (UTC)

I have attempted to address some of your concerns, except for examples.Hahahaha4 (talk) 19:36, 15 September 2008 (UTC)

viz. Ontology languages

I would like to see a clarification w.r.t. ontology languages and frame languages. Descriptive language seem to be frame languages, with extra stuff added. They seem not to support any predicates, and thus are a special case of the more general class of ontology languages. All in agreement on this? linas 14:49, 8 November 2007 (UTC)

On closer review, this article is usually rather unclear about the relationship between DL and predicate logic. It implies that DL is "expressible as predicate logic" -- true, but misleading? Then it says that DL's logical operations are those of predicate logic-- again, true, but misleading. It never seems to say that DL doesn't actually support predicates, which seems to me to be a glaring ommission, although there may be support for unary predicates only??? Huh?

The relationship of some of the DL concepts to the more traditional "extension and intension in lattices" (is an instance of, is generalized by) is unclear (see article formal concept analysis and lattice (order)).

And, while I'm nit-picking, the first section of the article, titled "syntax", seems to describe nothing other than the basic operations of naive set theory, without actually saying the words "set theory". One might argue that "top" and "bottom" are from lattice (order) but again, that article is not linked. No mention of either domain theory or Galois connection. I suppose I could try to fix this myself ... linas 15:15, 8 November 2007 (UTC)

DL Expressivity - expressivity link

The expressivity link currently links to expressivity in genetics. I guess we need a disambiguation (as well as writing something for expressivity in the DL sense).

I'm not sure how to do that... Drevicko (talk) 05:43, 29 March 2008 (UTC)

AL vs. ALC

In the section Syntax an DL called AL (Attributive Language) is described. Wouldn't it be better if it's called ALC (Attributive Language with Complements)? --Xylometazolin (talk) 14:41, 21 October 2008 (UTC)

AL is distinct from ALC (though it is not hard to miss why). AL has atomic negation (defined particularly for that name AL). ALC has full negation where it can be applied to any concept in a T-Box. Negation normal form on an ALC T-Box will push all the occurences in a T-Box down to the leaves (to atomic concepts) but will still allow negation on the left-hand side. Hahahaha4 (talk) 17:46, 9 February 2009 (UTC)
...and so I added something about ALC to help explain. Hahahaha4 (talk) 17:47, 9 February 2009 (UTC)

Clean Up

I have started to produce a useful overview description logics. It is just a crude start, but certainly needs more work.

I have also deleted the sections below, because they are unintelligible to anyone that does not already understand DLs. Wikipedia should be educational, not just a forum for displaying how intelligent we are. The sections could go back, but only after more explanitory text and examples.

For example, only a DL expert would know what "if C is an AL-concept and R is a role name, then (value restriction) is also an AL-concept;" actually means.

Tuntable (talk) 05:04, 13 November 2008 (UTC)

I don't think I agree with this general approach to "clean-up". Description logics are a branch of mathematics, not programming, and trying to dumb down this entry to avoid any material requiring an understanding of mathematical logic is tantamount to a declaring that mathematics has no place on Wikipedia.

The Overview draft which has been included mischaracterizes DLs. The ability to create a hierarchy of classes is a nice and useful feature, but at its heart a DL is a way of writing down axioms whose semantics are defined in terms of satisfiability.

An entry on Java should be accessible, and the entry on Web Ontology Language should be accessible. The Java entry may link to type theory, but it would be aburd to try to make that entry non-mathematical. Similarly, OWL may link to this page on DLs, but that is not an excuse to treat DLs in a non-technical way.

Rvcx (talk) 12:28, 13 November 2008 (UTC)


Syntax of description logics consists of

  • A set of unary predicate symbols that are used to denote concept names;
  • A set of binary relations that are used to denote role names;
  • A recursive definition for defining concept terms from concept names and role names using constructors.

In general, a concept denotes the set of individuals that belongs to it, and a role denotes a relationship between concepts.

The syntax of a member of the description logic family is characterized by its recursive definition, in which the constructors that can be used to form concept terms are stated. Some common constructors include logical constructors in first-order logic such as intersection or conjunction of concepts, union or disjunction of concepts, negation or complement of concepts, value restriction (universal restriction), existential restriction, etc. Other constructors may also include restrictions on roles which are usual for binary relations, for example, inverse, transitivity, functionality, etc. Especially for intersection and union, description logics use the symbols and to distinguish them from the first-order logic and .

The following is an example of definition of the syntax of the description logic AL (Attributive Language).

For example, is an AL-concept, but is not. Also, is an AL-concept, but is not.


The semantics of description logics is defined by interpreting concepts as sets of individuals and roles as sets of pairs of individuals. Those individuals are typically assumed from a given domain. The semantics of non atomic concepts and roles is then defined in terms of atomic concepts and roles. This is done by using a recursive definition similar to the syntax.

For example, given a set as the domain, an interpretation of AL-concepts is defined first over atomic concepts and roles as follows:

  • An atomic concept is interpreted as a set of individuals that is a subset of the domain.
  • An atomic role is interpreted as a set of pairs of individuals from the domain, i.e., a binary relation over the domain. In this case, if an individual x is related to y via a role R, then y is called an R-successor of x.

Next, this interpretation is extended to non atomic concept and role according to the constructors. This is done in the following.

  • The top concept is interpreted as the whole domain.
  • The bottom concept is interpreted as the empty set.
  • The interpretation of ¬C is the set of all individuals in the domain which does not belong to the interpretation of C.
  • Intersection of two concepts C and D is interpreted as set-intersection, i.e., the set of all individuals in the domain that belongs to both the interpretation of C and the interpretation of D.
  • The value restriction ∀R.C is interpreted as the set of all individuals in the domain whose R-successors (if any) all belong to the interpretation of C.
  • The limited existential restriction is interpreted as the set of all individuals in the domain that have at least one R-successor.

Example. If P is interpreted as the set of all persons in our domain and F is interpreted as the set of all females, then the set of all persons that are not female can be expressed by the concept

I should...?

What people should also think about for intelligent systems is multiple viewpoints of the data. This will lead to subjective (as opposed to objective) intelligent systems.

What the bleeping bleep bleep is that all about? This is Wikipedia, not a homework assignment or futurist screed. Exorcise, please, 'pedians! --Tom Morris (talk) 16:14, 22 April 2009 (UTC)


Are there any better references available for µOR, which was recently added to the list of reasoners? The paper cited isn't available through the LNCS portal yet so I'm unable to confirm any information at all about the reasoner. I'm tempted to remove the entry entirely until the reasoner's existence and basic functionality can be verified. (This is standard Wikipedia policy.) Rvcx (talk) 20:07, 28 April 2009 (UTC)

The cited paper is finally available online, and there's no evidence that µOR is actually a reasoner for description logics; it simply does some kind of processing on files written in a restricted subset of the OWL syntax. There is no analysis of whether or not the reasoner respects DL semantics. (My expectation is that it probably doesn't.) The µOR reasoner is thus relevant to OWL, but not to description logics, and has been removed from this article. Rvcx (talk) 23:03, 24 May 2009 (UTC)

Notes Section

This section needs a rewrite. Each entry is "Name et. al. pg#" without a link or adequate information to find the referred source. (talk) 03:53, 11 February 2010 (UTC)

Switched article to longer citation style. Hopefully this improvement should tackle this issue. (talk) 21:05, 13 April 2010 (UTC)

Expressive logic reasoners

The list is a bit odd to include KAON2 and not Pellet or HermiT and to include CEL (which is only for a polytime fragment). —Preceding unsigned comment added by (talk) 10:09, 23 June 2010 (UTC)

only the concepts?

"Optimising Ontology Classification", Glimm et al. have shown that through a reduction of properties to classes, one can reason about them as well. (talk) 07:47, 16 November 2011 (UTC)

Deleted sentences from Fuzzy description logic

I deleted "What people should also think about for intelligent systems is multiple viewpoints of the data. This will lead to subjective (as opposed to objective) intelligent systems.". If someone wants to expand on that, great, but on their own, the sentences are pretty much meaningless and seem like OR. Silver hr (talk) 19:52, 11 February 2012 (UTC)