Ontology language

In computer science and artificial intelligence, ontology languages are formal languages used to construct ontologies. They allow the encoding of knowledge about specific domains and often include reasoning rules that support the processing of that knowledge. Ontology languages are usually declarative languages, are almost always generalizations of frame languages, and are commonly based on either first-order logic or on description logic.

Traditional syntax ontology languages

 * Common Logic - and its dialects
 * CycL
 * DOGMA (Developing Ontology-Grounded Methods and Applications)
 * F-Logic (Frame Logic)
 * FO-dot (First-order logic extended with types, arithmetic, aggregates and inductive definitions)
 * KIF (Knowledge Interchange Format)
 * Ontolingua based on KIF
 * KL-ONE
 * KM programming language
 * LOOM (ontology)
 * OCML (Operational Conceptual Modelling Language)
 * OKBC (Open Knowledge Base Connectivity)
 * PLIB (Parts LIBrary)
 * RACER

Markup ontology languages
These languages use a markup scheme to encode knowledge, most commonly with XML.


 * DAML+OIL
 * Ontology Inference Layer (OIL)
 * Web Ontology Language (OWL)
 * Resource Description Framework (RDF)
 * RDF Schema (RDFS)
 * SHOE

Controlled natural languages

 * Attempto Controlled English

Open vocabulary natural languages

 * Executable English

Frame-based
Three languages are completely or partially frame-based languages.


 * F-Logic
 * OKBC
 * KM

Description logic-based
Description logic provides an extension of frame languages, without going so far as to take the leap to first-order logic and support for arbitrary predicates.


 * KL-ONE
 * RACER
 * OWL.

Gellish is an example of a combined ontology language and ontology that is description logic based. It distinguishes between the semantic differences among others of: It also contains constructs to express queries and communicative intent.
 * relation types for relations between concepts (classes)
 * relation types for relations between individuals
 * relation types for relations between individuals and classes

First-order logic-based
Several ontology languages support expressions in first-order logic and allow general predicates.


 * Common Logic
 * CycL
 * FO-dot (First-order logic extended with types, arithmetic, aggregates and inductive definitions)
 * KIF