In computer science and information science, an ontology encompasses a representation, formal naming and definition of the categories, properties and relations between the concepts, data and entities that substantiate one, many or all domains of discourse.
Every field creates ontologies to limit complexity and organize information into data and knowledge. As new ontologies are made, their use hopefully improves problem solving within that domain. Translating research papers within every field is a problem made easier when experts from different countries maintain a controlled vocabulary of jargon between each of their languages.
Since Google started an initiative called Knowledge Graph, a substantial amount of research has used the phrase knowledge graph as a generalized term. Although there is no clear definition for the term knowledge graph, it is sometimes used as synonym for ontology. One common interpretation is that a knowledge graph represents a collection of interlinked descriptions of entities – real-world objects, events, situations or abstract concepts. Unlike ontologies, knowledge graphs, such as Google's Knowledge Graph, often contain large volumes of factual information with less formal semantics. In some contexts, the term knowledge graph is used to refer to any knowledge base that is represented as a graph.
The compound word ontology combines onto-, from the Greek ὄν, on (gen. ὄντος, ontos), i.e. "being; that which is", which is the present participle of the verb εἰμί, eimí, i.e. "to be, I am", and -λογία, -logia, i.e. "logical discourse", see classical compounds for this type of word formation.
While the etymology is Greek, the oldest extant record of the word itself, the New Latin form ontologia, appeared in 1606 in the work Ogdoas Scholastica by Jacob Lorhard (Lorhardus) and in 1613 in the Lexicon philosophicum by Rudolf Göckel (Goclenius).
The first occurrence in English of ontology as recorded by the OED (Oxford English Dictionary, online edition, 2008) came in Archeologia Philosophica Nova or New Principles of Philosophy by Gideon Harvey.
What ontologies in both information science and philosophy have in common is the attempt to represent entities, ideas and events, with all their interdependent properties and relations, according to a system of categories. In both fields, there is considerable work on problems of ontology engineering (e.g., Quine and Kripke in philosophy, Sowa and Guarino in computer science), and debates concerning to what extent normative ontology is possible (e.g., foundationalism and coherentism in philosophy, BFO and Cyc in artificial intelligence). Applied ontology is considered a spiritual successor to prior work in philosophy, however many current efforts are more concerned with establishing controlled vocabularies of narrow domains than first principles, the existence of fixed essences or whether enduring objects (e.g., perdurantism and endurantism) may be ontologically more primary than processes.
Every field uses ontological assumptions to frame explicit theories, research and applications. For instance, the definition and ontology of economics is a primacy concern in Marxist economics, but also in other subfields of economics. An example of economics relying on information science occurs in cases where a simulation or model is intended to enable economic decisions, such as determining what capital assets are at risk and by how much (see risk management).
Artificial intelligence has retained the most attention regarding applied ontology in subfields like natural language processing within machine translation and knowledge representation, but ontology editors are being used often in a range of fields like education without the intent to contribute to AI.
Ontologies arise out of the branch of philosophy known as metaphysics, which deals with questions like "what exists?" and "what is the nature of reality?". One of five traditional branches of philosophy, metaphysics is concerned with exploring existence through properties, entities and relations such as those between particulars and universals, intrinsic and extrinsic properties, or essence and existence. Metaphysics has been an ongoing topic of discussion since recorded history.
Since the mid-1970s, researchers in the field of artificial intelligence (AI) have recognized that knowledge engineering is the key to building large and powerful AI systems. AI researchers argued that they could create new ontologies as computational models that enable certain kinds of automated reasoning, which was only marginally successful. In the 1980s, the AI community began to use the term ontology to refer to both a theory of a modeled world and a component of knowledge-based systems. Some researchers, drawing inspiration from philosophical ontologies, viewed computational ontology as a kind of applied philosophy.
In the early 1990s, the widely cited web page and paper "Toward Principles for the Design of Ontologies Used for Knowledge Sharing" by Tom Gruber was credited with a deliberate definition of ontology as a technical term in computer science. Gruber introduced the term as a specification of a conceptualization:
An ontology is a description (like a formal specification of a program) of the concepts and relationships that can formally exist for an agent or a community of agents. This definition is consistent with the usage of ontology as set of concept definitions, but more general. And it is a different sense of the word than its use in philosophy.
Ontologies are often equated with taxonomic hierarchies of classes, class definitions, and the subsumption relation, but ontologies need not be limited to these forms. Ontologies are also not limited to conservative definitions — that is, definitions in the traditional logic sense that only introduce terminology and do not add any knowledge about the world. To specify a conceptualization, one needs to state axioms that do constrain the possible interpretations for the defined terms.
As refinement of Gruber's definition Feilmayr and Wöß (2016) stated: "An ontology is a formal, explicit specification of a shared conceptualization that is characterized by high semantic expressiveness required for increased complexity."
Contemporary ontologies share many structural similarities, regardless of the language in which they are expressed. Most ontologies describe individuals (instances), classes (concepts), attributes and relations. In this section each of these components is discussed in turn.
Common components of ontologies include:
Ontologies are commonly encoded using ontology languages.
A domain ontology (or domain-specific ontology) represents concepts which belong to a part of the world, such as biology or politics. Each domain ontology typically models domain-specific definitions of terms. For example, the word card has many different meanings. An ontology about the domain of poker would model the "playing card" meaning of the word, while an ontology about the domain of computer hardware would model the "punched card" and "video card" meanings.
Since domain ontologies are written by different people, they represent concepts in very specific and unique ways, and are often incompatible within the same project. As systems that rely on domain ontologies expand, they often need to merge domain ontologies by hand-tuning each entity or using a combination of software merging and hand-tuning. This presents a challenge to the ontology designer. Different ontologies in the same domain arise due to different languages, different intended usage of the ontologies, and different perceptions of the domain (based on cultural background, education, ideology, etc.).
At present, merging ontologies that are not developed from a common upper ontology is a largely manual process and therefore time-consuming and expensive. Domain ontologies that use the same upper ontology to provide a set of basic elements with which to specify the meanings of the domain ontology entities can be merged with less effort. There are studies on generalized techniques for merging ontologies, but this area of research is still ongoing, and it's a recent event to see the issue sidestepped by having multiple domain ontologies using the same upper ontology like the OBO Foundry.
An upper ontology (or foundation ontology) is a model of the common relations and objects that are generally applicable across a wide range of domain ontologies. It usually employs a core glossary that contains the terms and associated object descriptions as they are used in various relevant domain ontologies.
Standardized upper ontologies available for use include BFO, BORO method, Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO, UMBEL, the Unified Foundational Ontology (UFO), and DOLCE. WordNet has been considered an upper ontology by some and has been used as a linguistic tool for learning domain ontologies.
The Gellish ontology is an example of a combination of an upper and a domain ontology.
A survey of ontology visualization methods is presented by Katifori et al. An updated survey of ontology visualization methods and tools was published by Dudás et al. The most established ontology visualization methods, namely indented tree and graph visualization are evaluated by Fu et al. A visual language for ontologies represented in OWL is specified by the Visual Notation for OWL Ontologies (VOWL).
Ontology engineering (also called ontology building) is a set of tasks related to the development of ontologies for a particular domain. It is a subfield of knowledge engineering that studies the ontology development process, the ontology life cycle, the methods and methodologies for building ontologies, and the tools and languages that support them.
Ontology engineering aims to make explicit the knowledge contained in software applications, and organizational procedures for a particular domain. Ontology engineering offers a direction for overcoming semantic obstacles, such as those related to the definitions of business terms and software classes. Known challenges with ontology engineering include:
Ontology editors are applications designed to assist in the creation or manipulation of ontologies. It is common for ontology editors to use one or more ontology languages.
Aspects of ontology editors include: visual navigation possibilities within the knowledge model, inference engines and information extraction; support for modules; the import and export of foreign knowledge representation languages for ontology matching; and the support of meta-ontologies such as OWL-S, Dublin Core, etc.
|a.k.a. software||Ontology, taxonomy and thesaurus management software||The Synercon Group|
|Anzo for Excel||Includes an RDFS and OWL ontology editor within Excel; generates ontologies from Excel spreadsheets||Cambridge Semantics|
|Be Informed Suite||Commercial||tool for building large ontology based applications. Includes visual editors, inference engines, export to standard formats|
|Chimaera||Other web service||Stanford University|
|CmapTools||Java based||Ontology Editor (COE) ontology editor Supports numerous formats||Florida Institute for Human and Machine Cognition|
|dot15926 Editor||Python?||Open source||ontology editor for data compliant to engineering ontology standard ISO 15926. Allows Python scripting and pattern-based data analysis. Supports extensions.|
|EMFText OWL2 Manchester Editor||Eclipse-based||open-source||Pellet integration|
|Enterprise Architect||along with UML modeling, supports OMG's Ontology Definition MetaModel which includes OWL and RDF||Sparx Systems|
|Fluent Editor||ontology editor for OWL and SWRL with Controlled Natural Language (Controlled English). Supports OWL, RDF, DL and Functional rendering, unlimited imports and built-in reasoning services.|
|Gra.fo||Free and Commercial||A visual, collaborative and real time ontology and knowledge graph schema editor. Features include sharing documents, commenting, search and tracking history. Support W3C Semantic Web standards: RDF, RDFS, OWL and also Property Graph schemas.||Capsenta|
|HOZO||Java||graphical editor especially created to produce heavy-weight and well thought out ontologies||Osaka University and Enegate Co, ltd.|
|Java Ontology Editor (JOE)||(1998)|
|KAON||open source||single user and server based solutions possible||FZI/AIFB Karlsruhe|
|KMgen||Ontology editor for the KM language. km: The Knowledge Machine|
|Knoodl||Free||web application/service that is an ontology editor, wiki, and ontology registry. Supports creation of communities where members can collaboratively import, create, discuss, document and publish ontologies. Supports OWL, RDF, RDFS, and SPARQL queries.||Revelytix, Inc..|
|Menthor Editor||An ontology engineering tool for dealing with OntoUML. It also includes OntoUML syntax validation, Alloy simulation, Anti-Pattern verification, and transformations from OntoUML to OWL, SBVR and Natural Language (Brazilian Portuguese)|
|Model Futures IDEAS AddIn||free||A plug-in for Enterprise Architect] that allows IDEAS Group 4D ontologies to be developed using a UML profile|
|Model Futures OWL Editor||Free||Able to work with very large OWL files (e.g. Cyc) and has extensive import and export capabilities (inc. UML, Thesaurus Descriptor, MS Word, CA ERwin Data Modeler, CSV, etc.)|
|myWeb||Java||mySQL connection, bundled with applet that allows online browsing of ontologies (including OBO))|
|Neologism||built on Drupal||open source||Web-based, supports RDFS and a subset of OWL|
|NeOn Toolkit||Eclipse-based||open source||OWL support, several import mechanisms, support for reuse and management of networked ontologies, visualization, etc.||NeOn Project|
|OBIS||Web based user interface that allows users to input ontology instances that can be accessed via SPARQL endpoint|
|OBO-Edit||Java||open source||downloadable, developed by the Gene Ontology Consortium for editing biological ontologies. OBO-Edit is no longer actively developed ||Gene Ontology Consortium|
|Ontosight||Free and Commercial||Machine learning-based auto-scaling biomedical ontology combining all public biomedical ontologies||Innoplexus|
|OntoStudio||Eclipse||downloadable, support for RDF(S), OWL and ObjectLogic (derived from F-Logic), graphical rule editor, visualizations||semafora systems|
|Ontolingua||Web service||Stanford University|
|ONTOLIS||Collaborative web application for managing ontologies and knowledge engineering, web-browser-based graphical rules editor, sophisticated search and export interface. Web service available to link ontology information to existing data|
|Open Semantic Framework (OSF)||an integrated software stack using semantic technologies for knowledge management, which includes an ontology editor|
|OWLGrEd||A graphical ontology editor, easy-to-use|
|PoolParty Thesaurus Server||Commercial||ontology, taxonomy and thesaurus management software, fully based on standards like RDFS, SKOS and SPARQL, integrated with Virtuoso Universal Server||Semantic Web Company|
|Protégé||Java||open source||downloadable, supports OWL, many sample ontologies||Stanford University|
|ScholOnto||net-centric representations of research|
|Semantic Turkey||Firefox extension - based on Java||for managing ontologies and acquiring new knowledge from the Web||developed at University of Rome, Tor Vergata|
|Sigma knowledge engineering environment||is a system primarily for development of the Suggested Upper Merged Ontology|
|Swoop||Java||open source||downloadable, OWL Ontology browser and editor||University of Maryland|
|Semaphore Ontology Manager||Commercial||ontology, taxonomy and thesaurus management software. Tool to manage the entire "build - enhance - review - maintain" ontology lifecycle.||Smartlogic Semaphore Limited|
|Synaptica||Ontology, taxonomy and thesaurus management software. Web based, supports OWL and SKOS.||Synaptica, LLC.|
|TopBraid Composer||Eclipse-based||downloadable, full support for RDFS and OWL, built-in inference engine, SWRL editor and SPARQL queries, visualization, import of XML and UML||TopQuadrant|
|Transinsight||Editor especially designed for creating text mining ontologies and part of GoPubMed.org|
|WebODE||Web service||Technical University of Madrid|
|TwoUse Toolkit||Eclipse-based||open source||model-driven ontology editing environment especially designed for software engineers|
|Thesaurus Master||Manages creation and use of ontologies for use in data management and semantic enrichment by enterprise, government, and scholarly publishers.|
|TODE||.Net||Tool for Ontology Development and Editing|
|VocBench||Collaborative Web Platform for Management of SKOS thesauri, OWL ontologies and OntoLex lexicons, now in its third incarnation supported by the ISA2 program of the EU||originally developed on a joint effort between University of Rome Tor Vergata and the Food and the Agriculture Organization of the United Nations: FAO|
Ontology learning is the automatic or semi-automatic creation of ontologies, including extracting a domain's terms from natural language text. As building ontologies manually is extremely labor-intensive and time consuming, there is great motivation to automate the process. Information extraction and text mining have been explored to automatically link ontologies to documents, for example in the context of the BioCreative challenges.
The development of ontologies has led to the emergence of services providing lists or directories of ontologies called ontology libraries.
The following are libraries of human-selected ontologies.
The following are both directories and search engines.
In general, ontologies can be used beneficially in several fields.
|postscript=at position 37 (help)
Controlled vocabularies provide a way to organize knowledge for subsequent retrieval. They are used in subject indexing schemes, subject headings, thesauri, taxonomies and other forms of knowledge organization systems. Controlled vocabulary schemes mandate the use of predefined, authorised terms that have been preselected by the designers of the schemes, in contrast to natural language vocabularies, which have no such restriction.DOAP
DOAP (Description of a Project) is an RDF Schema and XML vocabulary to describe software projects, in particular free and open source software.
It was created and initially developed by Edd Dumbill to convey semantic information associated with open source software projects.Foundational Model of Anatomy
The Foundational Model of Anatomy Ontology (FMA) is a reference ontology for the domain of anatomy. It is a symbolic representation of the canonical, phenotypic structure of an organism; a spatial-structural ontology of anatomical entities and relations which form the physical organization of an organism at all salient levels of granularity.
FMA is developed and maintained by the Structural Informatics Group at the University of Washington.Gene ontology
Gene ontology (GO) is a major bioinformatics initiative to unify the representation of gene and gene product attributes across all species. More specifically, the project aims to: 1) maintain and develop its controlled vocabulary of gene and gene product attributes; 2) annotate genes and gene products, and assimilate and disseminate annotation data; and 3) provide tools for easy access to all aspects of the data provided by the project, and to enable functional interpretation of experimental data using the GO, for example via enrichment analysis. GO is part of a larger classification effort, the Open Biomedical Ontologies (OBO).Although gene nomenclature itself aims to maintain and develop controlled vocabulary of gene and gene products, the Gene Ontology extends the effort by using markup language to make the data (not only of the genes and their products but also of all their attributes) machine readable, and to do so in a way that is unified across all species (whereas gene nomenclature conventions vary by biologic taxon).Geopolitical ontology
The FAO geopolitical ontology is an ontology developed by the Food and Agriculture Organization of the United Nations (FAO) to describe, manage and exchange data related to geopolitical entities such as countries, territories, regions and other similar areas.ISO 15926
The ISO 15926 is a standard for data integration, sharing, exchange, and hand-over between computer systems.
The title, "Industrial automation systems and integration—Integration of life-cycle data for process plants including oil and gas production facilities", is regarded too narrow by the present ISO 15926 developers. Having developed a generic data model and Reference Data Library for process plants, it turned out that this subject is already so wide, that actually any state information may be modelled with it.Indiana Philosophy Ontology Project
Indiana Philosophy Ontology Project (InPhO ) is a project of Indiana University's Cognitive Science Program funded by a grant from the National Endowment for the Humanities. It is an attempt to create a model of the discipline of philosophy as an online resource. The website makes it possible to search and navigate via relations among philosophical ideas, scholars and works.Knowledge engineering
Knowledge engineering (KE) refers to all technical, scientific and social aspects involved in building, maintaining and using knowledge-based systems.NeuroLex
NeuroLex is a dynamic lexicon of neuroscience concepts. It is a structured as a semantic wiki, using Semantic MediaWiki. NeuroLex is supported by the Neuroscience Information Framework project.Ontology engineering
Ontology engineering in computer science, information science and systems engineering is a field which studies the methods and methodologies for building ontologies: formal representations of a set of concepts within a domain and the relationships between those concepts.
A large-scale representation of abstract concepts such as actions, time, physical objects and beliefs would be an example of ontological engineering. Ontology engineering is one of the areas of applied ontology, and can be seen as an application of philosophical ontology. Core ideas and objectives of ontology engineering are also central in conceptual modeling.Open Biomedical Ontologies
Open Biomedical Ontologies (abbreviated OBO; formerly Open Biological Ontologies) is an effort to create controlled vocabularies for shared use across different biological and medical domains. As of 2006, OBO forms part of the resources of the U.S. National Center for Biomedical Ontology where it will form a central element of the NCBO's BioPortal.Process Specification Language
The Process Specification Language (PSL) is a set of logic terms used to describe processes. The logic terms are specified in an ontology that provides a formal description of the components and their relationships that make up a process. The ontology was developed at the National Institute of Standards and Technology (NIST), and has been approved as an international standard in the document ISO 18629.
The Process Specification Language can be used for the representation of manufacturing, engineering and business processes, including production scheduling, process planning, workflow management, business process reengineering, simulation, process realization, process modelling, and project management. In the manufacturing domain, PSL's objective is to serve as a common representation for integrating several process-related applications throughout the manufacturing process life cycle.Protégé (software)
Protégé is a free, open source ontology editor and a knowledge management system. Protégé provides a graphic user interface to define ontologies. It also includes deductive classifiers to validate that models are consistent and to infer new information based on the analysis of an ontology. Like Eclipse, Protégé is a framework for which various other projects suggest plugins. This application is written in Java and heavily uses Swing to create the user interface. Protégé recently has over 300,000 registered users. According to a 2009 book it is "the leading ontological engineering tool".Protégé is being developed at Stanford University and is made available under the BSD 2-clause license. Earlier versions of the tool were developed in collaboration with the University of Manchester.Schema.org
Schema.org is a collaborative community activity with a mission to "create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond." Webmasters use this shared vocabulary to structure metadata on their websites and to help search engines understand the published content, a technique known as search engine optimization.Semantic integration
Semantic integration is the process of interrelating information from diverse sources, for example calendars and to do lists, email archives, presence information (physical, psychological, and social), documents of all sorts, contacts (including social graphs), search results, and advertising and marketing relevance derived from them. In this regard, semantics focuses on the organization of and action upon information by acting as an intermediary between heterogeneous data sources, which may conflict not only by structure but also context or value.Semantic matching
Semantic matching is a technique used in computer science to identify information which is semantically related.
Given any two graph-like structures, e.g. classifications, taxonomies database or XML schemas and ontologies, matching is an operator which identifies those nodes in the two structures which semantically correspond to one another. For example, applied to file systems it can identify that a folder labeled "car" is semantically equivalent to another folder "automobile" because they are synonyms in English. This information can be taken from a linguistic resource like WordNet.
In the recent years many of them have been offered. S-Match is an example of a semantic matching operator. It works on lightweight ontologies, namely graph structures where each node is labeled by a natural language sentence, for example in English. These sentences are translated into a formal logical formula (according to an artificial unambiguous language) codifying the meaning of the node taking into account its position in the graph. For example, in case the folder "car" is under another folder "red" we can say that the meaning of the folder "car" is "red car" in this case. This is translated into the logical formula "red AND car".
The output of S-Match is a set of semantic correspondences called mappings attached with one of the following semantic relations: disjointness (⊥), equivalence (≡), more specific (⊑) and less specific (⊒). In our example the algorithm will return a mapping between "car" and "automobile" attached with an equivalence relation. Information semantically matched can also be used as a measure of relevance through a mapping of near-term relationships. Such use of S-Match technology is prevalent in the career space where it is used to gauge depth of skills through relational mapping of information found in applicant resumes.
Semantic matching represents a fundamental technique in many applications in areas such as resource discovery, data integration, data migration, query translation, peer to peer networks, agent communication, schema and ontology merging. Its use is also being investigated in other areas such as event processing. In fact, it has been proposed as a valid solution to the semantic heterogeneity problem, namely managing the diversity in knowledge. Interoperability among people of different cultures and languages, having different viewpoints and using different terminology has always been a huge problem. Especially with the advent of the Web and the consequential information explosion, the problem seems to be emphasized. People face the concrete problem to retrieve, disambiguate and integrate information coming from a wide variety of sources.Semantic reasoner
A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description logic language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining. There are also examples of probabilistic reasoners, including Pei Wang's non-axiomatic reasoning system, and probabilistic logic networks.Semantically-Interlinked Online Communities
Semantically-Interlinked Online Communities Project (SIOC - pronounced "shock") is a Semantic Web technology. SIOC provides methods for interconnecting discussion methods such as blogs, forums and mailing lists to each other. It consists of the SIOC ontology, an open-standard machine readable format for expressing the information contained both explicitly and implicitly in Internet discussion methods, of SIOC metadata producers for a number of popular blogging platforms and content management systems, and of storage and browsing/searching systems for leveraging this SIOC data.
The SIOC vocabulary is based on RDF and is defined using RDFS. SIOC documents may use other existing ontologies to enrich the information described. Additional information about the creator of the post can be described using FOAF Vocabulary and the foaf:maker property. Rich content of the post (e.g., an HTML representation) can be described using the AtomOWL or RSS 1.0 Content module.
The SIOC project was started in 2004 by John Breslin and Uldis Bojars at DERI, NUI Galway. In 2007, SIOC became a W3C Member Submission.Sequence Ontology
The Sequence Ontology (SO) is an ontology suitable for describing biological sequences. It is designed to make the naming of DNA sequence features and variants consistent and therefore machine-readable and searchable.