Annotation Really Is A Big Deal!

My expressed interest in annotation began as a footnote:

An alternative approach has the following two steps: First, extract RDF from the .GGP and .AUX files as before. Second, incorporate data contained in the .LOG file via annotation. Annotation is a well-established practice [45, Chapter 4] involving RDF and the XML Pointer Language (XPointer, [22]) — essentially a URI-centric fragment identifier. This conversion flow is currently under investigation and the corresponding manuscript is in preparation.

This footnote appeared in a paper that was published by the IEEE for HPCS 2006. The alluded-to manuscript will soon be available from the IEEE and will be presented in mid-May at HPCS 2007.

In addition to this manuscript on annotation, along with my co-authors, I’ve recently submitted a broader-based treatment to a special issue (“Geoscience Knowledge Representation for Cyberinfrastructure”) of Computers & Geosciences (C&G). The abstract of the C&G submission is as follows:

Incorporating Annotations into Formal and Informal Ontologies: Experiences and Implications

L. I. Lumb, J. R. Freemantle, J. I. Lederman & K. D. Aldridge

Abstract

Traditionally, and to a first approximation, annotations can be regarded as comments. In the case of the Web Ontology Language (OWL), this perspective is largely accurate, as annotations are internal constructs included with the language. As internal constructs, annotations in OWL Description Logic (DL) are also constrained to ensure, ultimately, that they do not negatively impact on the ontology’s ability to remain computationally complete and decidable. Formal ontologies, however, can also be annotated externally with the XML Pointer Language (XPointer). Because XPointer-based annotations are quite likely to result in violations of the constraints traditionally placed on OWL DL’s built-in annotations, there exist potentially serious consequences for maintaining self-contained formal ontologies. Insight gained in modeling annotations in formal ontologies using top-down strategies can be applied to informal ontologies. In part, the previous practice of incorporating feature-based annotations directly into informal ontologies is regarded differently, as the XPointer-based annotations may require more complex OWL dialects in which computational completeness and decidability cannot be guaranteed. Critical to the development of informal ontologies is Gleaning Resource Descriptions from Dialects of Languages (GRDDL), as it facilitates the extraction of Resource Description Format (RDF) relationships from representations cast in the eXtensible Markup Language (XML). In order to fully enable the creation of informal ontologies, however, an analogous functionality is required to extract OWL classes, properties and individuals from RDF-based representations. Although a strategy for this capability has been specified, hopefully community based efforts will soon target a corresponding implementation.

Key words:
Annotation, Formal Ontology, Informal Ontology, Ontology, Semantic Web, XPointer, Web Ontology Language

In addition to these papers, I’ve blogged a lot about annotation. And the more I delve into annotation, the more I’m taken by it’s applicability. For example, I’ll be making a presentation at CANHEIT 2007 on annotation and wikis.

Annotation really is a big deal!

On the Use of Informal Ontologies in the Delivery of Service Oriented Architectures (SOAs)

In Service-Oriented Architecture: Concepts, Technology and Design, author Thomas Erl frames ontologies (section 10.2) in a top-down strategy for the delivery of a Service Oriented Architecture (SOA) .

As the first step, in a multistep process, what starts with ontologies ultimately results in a Contemporary SOA (Erl, section 3.2.20):

Contemporary SOA represents an open, extensible, federated, composable architecture that promotes service-orientation and is comprised of autonomous, QoS-capable, vendor diverse, interoperable, discoverable, and potentially reuable services, implemented as Web services.

SOA can establish an abstraction of business logic and technology, resulting in a loose coupling between these domains.

SOA is an evolution of past platforms, preserving successful characteristics of traditional architectures, and bringing with it distinct principles that foster service-orientation in support of a service-oriented enterprise.

SOA is ideally standardized throughout an enterprise, but achieving this state requires a planned transition and the support of a still evolving technology set.

In the same chapter, Erl also provides an abridged Contemporary SOA definition:

SOA is a form of technology architecture that adheres to the principles of service-orientation. When realized through the Web services technology platform, SOA establishes the potential to support and promote these principles throughout the business process and automation domains of an enterprise.

In other words, buying into the top-down strategy can ultimately result in a Contemporary SOA and this is a big deal.

Erl also discusses the bottom-up strategy for delivering a SOA (section 10.2).

In striking contrast to the top-down strategy, and as Erl describes it, the bottom-up strategy does not incorporate ontologies. Despite the fact that “… the majority of organizations that are currently building Web services apply the bottom-up approach …” (Erl, pg. 368):

The bottom-up strategy is really not a strategy at all. Nor is it a valid approach to achieving a contemporary SOA. This is a realization that will hit many organizations as they begin to take service-orientation, as an architectural model, more seriously. Although the bottom-up design allows for the creation of Web services as required by applications, implementing an SOA at a later point can result in a great deal of retro-fitting and even the introduction of new standardized service layers positioned over the top of the non-standardized services produced by this approach.

After reading this chapter, one is left with the impression that Erl favors the agile strategy (Erl, section 10.4) as it attempts “… to find an acceptable balance between incorporating service-oriented design principles into business analysis environments without having to wait before introducing Web services technologies into technical environments.”

I would be willing to accept all of this on spec if it weren’t for the fact that it’s possible to create informal ontologies, in non-SOA contexts, during bottom-up processes.

And if this is possible in non-SOA contexts, then it’s reasonable that informal ontologies could be incorporated into the bottom-up strategy for SOA delivery.

I believe this is worth exploring because use of informal ontologies in a bottom-up strategy for SOA delivery may improve the potential for ultimately achieving a Contemporary SOA. (An outcome, you’ll recall from above, Erl stated wasn’t otherwise acheiveable.)

I also believe this is worth exploring as, as Erl states, most organizations are attempting to gravitate towards SOAs from the bottom up.

Because the agile strategy (ideally) combines the best of both the top-down and bottom-up approaches, I also believe it’s worth exploring the potential for informal ontologies in this case as well.

Although further research is required, the figure below extends Erl’s Figure 10.3 (pg. 367) with a first-blush suggestion of how informal ontologies might be incorporated into the bottom-up strategy for SOA delivery.

informal_ontology_soa_delivery

It’s important to note that Erl’s original figure illustrates a five-step process that culminates with “Deploy services”.

Based on work I’ve done elsewhere, in this first-blush depiction, I believe the steps required to make use of informal ontologies would need to include:

  • “Extract service relationships” – In the work I’ve done elsewhere, this extraction has been achieved by Gleaning Resource Descriptions from Dialects of Languages (GRDDL). GRDDL extracts relationships and represents them in RDF from XML via XSLT.
  • “Generate informal ontology” – These days, ontologies are often expressed in the Web Ontology Language (OWL). OWL is a semantically richer and more-expressive variation of XML than is XML. Much like the previous step, the generated informal ontology is expressed in OWL via processing that would likely make use of XSLT. This step might also involve the need to incorporate annotations.
  • “Integrate informal ontologies” – Because each act of modeling through deploying application services will result in an informal ontology, there will eventually be a pressing need a integrate these informal ontologies. This ontology integration, which may also involve top-down or formal ontologies, will provide the best possibilities for ultimately realizing a Contemporary SOA.

Even at this early stage, the use of informal ontologies in the delivery of a SOA appears promising and worth investigating.

Annotation Paper Submitted to HPCS 2007 Event

I’ve blogged and presented recently (locally and at an international scientific event) on the topic of annotation and knowledge representation.

Working with co-authors Jerusha Lederman, Jim Freemantle and Keith Aldridge, a written version of the recent AGU presentation has been prepared and submitted to the HPCS 2007 event. The abstract is as follows:

Semantically Enabling the Global Geodynamics Project:
Incorporating Feature-Based Annotations via XML Pointer Language (XPointer)

Earth Science Markup Language (ESML) is efficient and effective in representing scientific data in an XML-based formalism. However, features of the data being represented are not accounted for in ESML. Such features might derive from events, identifications, or some other source. In order to account for features in an ESML context, they are considered from the perspective of annotation. Although it is possible to extend ESML to incorporate feature-based annotations internally, there are complicating factors identified that apply to ESML and most XML dialects. Rather than pursue the ESML-extension approach, an external representation for feature-based annotations via XML Pointer Language (XPointer) is developed. In previous work, it has been shown that it is possible to extract relationships from ESML-based representations, and capture the results in the Resource Description Format (RDF). Application of this same requirement to XPointer-based annotations of ESML representations results in a revised semantic framework for the Global Geodynamics Project (GGP).

Once the paper is accepted, I’ll make a pre-submission version available online.

Because the AGU session I participated in has also issued a call for papers, I’ll be extending the HPCS 2007 submission in various interesting ways.

And finally, thoughts are starting to gel on how annotations may be worked into the emerging notions I’ve been having on knowledge-based heuristics.

Stay tuned.

Annozilla: A Firefox Plug-in for Annotation

In early August I wrote: “… the only Web browser that I know of that supports annotation is the W3C’s Amaya.”

I am delighted to report that there is a Firefox plug-in for annotation:

This is the the Annozilla project, designed to view and create annotations associated with a web page, as defined by the W3C Annotea project. The idea is to store annotations as RDF on a server, using XPointer (or at least XPointer-like constructs) to identify the region of the document being annotated.

It’s aligned with the W3C – it makes use of W3C standards like XPointer and RDF.

This is precisely what I was goading Google into doing with Google Notebook.