Semantic Content Engine
The word ontology has many definitions, but for content management and computer science, Wikipedia refers to it as: "a model for describing the world that consists of a set of types, properties, and relationship types."
The Wikipedia definition of ontology is just one of the many definitions. In order to make sure you understand what an ontology is, before we explain why it is so important, we'll list a few others:
An ontology is a detailed model/picture/schema (pick your favorite word) of a slice of reality which is based on the facts that we know about that reality. This model/picture/schema is a description of some of the things and some of the relationships between the things that are known about that reality.
An ontology defines the terms used to describe and represent an area of knowledge.
Ontology, semantic content and content management
Are you wondering how ontology fits with websites and content management? Well, most companies work in a specific market with domain specific terms, data and relationships. By building a definition of the content in a website that corresponds to that domain knowledge makes it easier for employees of the company to relate to the content on the website. This in turn makes it easier for them to update the website and understand how the site is structured, as it's already familiar.
Data without a description of what the data is, simply exists and has no significance beyond its existence. At the most fundamental level an ontology describes data, giving meaning to data, making it semantic content.
Since it's easy to see that data alone is useless, there is a lot of research and development towards this area of information science. We at Webnodes spent a lot of time doing R&D when we started development of our system from scratch back in 2005, to make sure that our data model supported data structured according to a semantic ontology. We call this technology our Semantic Content Engine.
The Webnodes Semantic Content Engine
Webnodes contains an innovative Semantic Content Engine that makes it possible to define and store data based on a custom ontology for each customer.
By defining the content, and the relationships between the different types of content, customers not only get a website tailored to their needs, but it also helps them structure their data according to their own domain terms.
The Semantic Content Engine consists of several parts. One part is the Semantic definitions module where the semantic ontology model is defined. Our CMS framework then uses that definition to create an object model that developers can work against, and the built-in ORM automatically creates the database tables and fields needed to store all the data as defined by the semantic ontology.
We created a project database for environmentally friendly building projects in Norway for a customer a couple of years ago. The project started off by defining the different content types and the relationships between the content, basically the ontology for the project database.
The customer then added the content to the project database, working in the CMS as they usually do, but creating various project related content types instead of articles:
The image above shows part of the content in the project database. You can clearly see that content forms a network. We call it a semantic network as the metadata in the CMS gives the content meaning.
Recently, several governmental agencies have approached our customer about access to their data. Since the data is stored in a presentation agnostic format, and has been properly defined, the data can easily be shared using a suitable format, for example OData, Topic Maps, RDF, OWL or Atom feeds.