Stanbol OntoNet: Knowledge as a Network

One advantage of semantic technologies is the capability of having your knowledge interconnected in an open environment. Interconnection occurs by means of semantic links, in that, unlike traditional Web hyperlinks, they incorporate the relation that justifies the connection – they are links with a “meaning”.

Therefore, with a relatively small knowledge base stored in your CMS, you can reference and access a whole world of knowledge related to your data, either with even more data (Linked Data) or with more knowledge on the current data (annotation vocabularies, upper ontologies).

However, when processing a whole interconnected knowledge base (comprised of CMS data + those from the outside that they link to), scalability problems are likely to kick in. Classifying the entities and computing all the implicit relationships in your knowledge base can be time- and memory-consuming. Always working on the whole (extended) knowledge base, though, is often an overkill! If you are just classifying the CMS users to derive their trust network, you do not need to bring in the whole taxonomy of animal species just because some users stated they like animals. Likewise, sometimes you could use the whole history of your data as they evolved in your CMS, or just a snapshot of those data as they are today.

In layman’s terms, not all of the knowledge that one possesses needs to be used for every single process.

The Stanbol OntoNet (short for Ontology Network Manager) is a facility for easing this burden. It is part of the overall Stanbol Ontology Manager. With it you can:

  • Import external ontologies from all over the Web, by setting up libraries and registries. Just as you can use the Stanbol Entity Hub to know the entities referenced in a dataset, you can bring in all the knowledge about these entities and involve it in your knowledge-processing tasks as needed.
  • Dynamically include or exclude parts of your ontology network to obtain different results from knowledge-processing tasks, and in a scalable fashion at that.
  • Push temporary data into user sessions, so that you can compute relations on a snapshot of your data at a given point in time, or the whole history if necessary.

OntoNet allows to set up and manage multiple ontology networks, which are like “views” on a knowledge base, and which can connect ontologies that originally wouldn’t even “know” about one another. This is possible my means of both a Java API (if used from within a plugin for the Stanbol OSGi environment) and a RESTful Web Service API (for Web applications, client systems). System administrators can also use the Felix OSGi console to provide an RDF document that describes ontology networks to be set up automatically upon bootstrap.

Stanbol OntoNet and the Registry Manager (which you can use for referencing ontology libraries by constructing simple RDF registries), along with their HTTP endpoints, are included by default in the full Stanbol launcher, as well as the IKS launcher. If you wish to compile the entire Ontology Manager (including storage facilities) into another Stanbol environment that doesn’t have one, proceed as follows from the Stanbol source directory:

% cd owl
% mvn install -PinstallBundle -Dsling.url=[stanbol_installation_URL]/system/console
% cd ../ontologymanager
% mvn install -PinstallBundle -Dsling.url=[stanbol_installation_URL]/system/console

(replace [stanbol_installation_URL] with the location of your Stanbol environment, e.g. http://localhost:8080)

Note that OntoNet works even if the ontologymanager/store modules are not installed, as it independently interacts with the triple store used in your Stanbol installation via Apache Clerezza.

For further information concerning the OntoNet basic notions, snippets and service descriptions, refer to the Ontology Manager documentation.

A few interesting success stories and adoption opportunities have begun to surface. Some of them revolve around CMSs handling content metadata described in accordance with SKOS thesauri.

As part of their early adoption program, Acuity Unlimited already has a demonstration in place, as reported on their earlier post.

Acuity manages a collection of digital images of visual arts, to that end using the Fedora Commons digital content repository system. OntoNet is used as their “safe harbour” where eternal knowledge transits in order to enrich the metadata provided by the (limited) Fedora vocabulary. In particular, more domain knowledge about an image and its authoring context is retrieved by mapping the metadata against the Getty United Artist List (ULAN) vocabulary, which they have represented in SKOS and loaded piecemeal into an OntoNet construct called scope. Features of the Stanbol Rules module also contribute to the creation on these mappings.

Here you can see an example of additional metadata derived by executing alignment rules over the knowledge managed by OntoNet. But this is not where the potential of managing ontology networks ends. Besides rule execution, additional knowledge enrichments can be obtained by performing Description Logic (DL) reasoning. To that end, Stanbol provides dedicated machinery in the form of the Reasoners package, which is also able to limit the range of its service execution to a given set of OntoNet components. This way, it is possible to scale down reasoning tasks without any need to re-classify the whole knowledge base over and over again.

There is more in the boiler as for adoption of OntoNet by CMS-based service providers. A few more companies, one even committing to Stanbol development, are jumping on the IKS adoption train and will be relying on OntoNet for managing their issues related to multiple SKOS thesauri. Stay tuned for further info!

Further Reading:

  1. Stanbol Ontology Manager online documentation
  2. An introduction to Description Logic (DL) Reasoning


  1. Fedora-Stanbol public demo

One Comment

  1. Alessandro Adamou

    UPDATE: the OWL libraries package has since been moved to commons/owl, therefore the building procedure now becomes as follows:

    % cd commons/owl
    % mvn install -PinstallBundle -Dsling.url=[stanbol_installation_URL]/system/console
    % cd ../../ontologymanager
    % mvn install -PinstallBundle -Dsling.url=[stanbol_installation_URL]/system/console