Friday, April 15, 2011

New Open Source Mobile Application

This mobile application demonstrates how to retrieve XML data from a server, return the results, and work with the data objects and display them.  There will be a video posted on this blog post very shortly with the instructions for building it along with best practices.  In the meantime, you may download the source code directly from (On a PC, right click and select "Save link as..."; on a MAC, control-click and select "Save link as...").

Now for some words of caution.  First, loading XML into a mobile application is generally a bad idea.  It is far better to use AMF with a 3-tier architecture (hello LiveCycle Data Services!!).  Nevertheless, small XML files can be worked with in this manner!  Enjoy.

Tuesday, April 12, 2011

One Most Excellent book on Ontology Science

It is a pleasure to be able to write to announce what I consider to be the premier book on
the Suggested Upper Merged Ontology (SUMO).  I also wrote the forward for this book and thought I would share it via this blog.  This is a great practical guide to applied ontology projects. Click on the book to see the TOC and to purchase!

Normally within the forward of a book,  writers use generic terms like “fascinating” and
“intriguing” coupled with an array of positive compliments. After all,
the purpose of a good introduction is to set the stage for the reader in
a manner that the reader is highly motivated to read the rest of the
book. While tempted to follow this scripted behavior, I found myself
wanting to take an alternative route for the forward.

Before talking about the book itself, I would like to introduce the
author. My first personal experience with Adam Pease was at an industry
event around 2003 where we sat together on a panel and discussed the
impact of semantics on various industry standards. I was intrigued by
Adam’s knowledge and his enthusiasm to share with others yet there was
something else that made him easy to listen to. He carried with him
wisdom, yet he did not force it upon those in the room. He merely
revealed the knowledge, bit by bit, as the conversation allowed it to
enter. This is very unique in a computer science discipline where
zealotry prevails. He modestly imparted his opinions on the roomful of
people only to the degree it answered the specific question before. This
inevitably brought up another question that Adam usually had an answer
for too.

The result of this behavior was quite infectious. Adam, Kurt Conrad and
I ended up in a late night sushi restaurant somewhere near Menlo Park,
CA discussing how to map SUMO concepts to Mandarin, Japanese and
Cantonese, how WordNet can reference SUMO and why First Order Logic
(FOL) constraints are generally a cool concept to have in advanced
computer systems. An upper-level ontology, such as SUMO, is a common,
shared conceptualization of a domain. SUMO itself, being an upper
ontology, conceptualizes our existence in our three dimensional,
sequentially temporal lives largely bound by gravity upon one major axis
(I think the geographical and geo-spatial extensions to SUMO actually
acknowledge the moon’s secondary axis of gravity which can be seen
manifesting itself as tidal behavior in large bodies of water). During
this discussion, the simple and beautiful truth came to me. SUMO, or
something akin to it, is one of the missing pieces of a large segment of
technical work I have done in my life. If it had been explained any
differently, I would have missed it. Adam’s delivery was the key for
understanding and seeing the value in ontology work. This missing piece,
the shared conceptualization, was the cause of many a failure to design
a proper XML dialects or the resultant mess the old Electronic Data
Interchange (EDI) formats represented. It was not specifically the SUMO
format that was lacking, it was the general lack of an upper ontology
that could provide the basis for mid level ontologies and other domain
specific metadata dictionaries or lexicons.

Up to that point, I had largely worked as a software systems architect
who inevitably ended up dealing with the meaning of some XML dialect.
Defining XML dialects for just about everything under the sun had been a
relatively popular activity in our industry for the 5 or 6 years leading
up to my meeting with Adam. During the entire time I had been in
standards meetings either creating a dialect, analyzing someone else’s
or thinking about software that could work with it, I had never seen
anyone approach the problems from a place of a common shared
conceptualization of the domain prior to embarking on writing the
language. In retrospect, the advent of XML has both benefited humanity
as well as stifling it by allowing people to create specific XML based
languages who could instead benefit from the discipline required to do
the formal modeling work using an upper ontology.

Before my work at Adobe, I had founded such a company, XML Global
Technologies, in 1997. This company proceeded to work with a wide
variety of XML languages and it was evident that reconciling the
semantics between data elements of those languages was a monumental
task. When XML Global was acquired by the Xenos Group in 2003, some of
the original founders and I began a new company called Yellow Dragon
Software in Vancouver, British Columbia. This company had a metadata
registry-repository where we attempted to work again on the
reconciliation of disparate semantics in XML languages. This effort was
Herculean and the need for an ontology was apparent. SUMO was the
logical choice due to its compact size and the fact it has been reviewed
and tested by multiple experts. When Yellow Dragon was acquired by Adobe
Systems in late 2003, I went to work for Adobe (where I still work today!) and have been able to
continue my research into ontology, semantics and enterprise
architecture in that capacity. SUMO has given me the basics for seeing
logic in a multitude of applications and the gaps where software vendors
like Adobe can benefit from the adoption of an upper ontology. Adobe’s
XMP (XML Metadata Platform) is in fact extendible by nature and could
embrace SUMO at some future stage. This is but one example of the
application of SUMO that would potentially be then used by those who
work with common software applications such as Acrobat and Photoshop.

SUMO gives those who use data modeling techniques a common footing to
stand on before they undertake their tasks. It provides a level setting
for our existence and sets up the framework on which we can do much more
meaningful work. SUMO provides order for one level of our chaos.

In 2008 I finished writing a book for O’Reilly Media on Web 2.0
Design Patterns with co-authors James Governor and Dion Hinchcliffe. We
wrote some material about the impact of semantics and ontology within
that book. One such part discussed the phenomena of folksonomy, a loose
and informal set of declarations about resources using largely natural
language tags. While professors and other academic types toil in the
abstract world of ontology, the general population races to set tags to
things. While not a formal approach to creating a semantic web, it has
seemed to work well amongst the multitude of sites implementing the
Collaborative Tagging (folksonomy) pattern

We felt that SUMO could potentially offer a huge amount of guidance to
folksonomies. Imagine folksonomies coupled to an upper-level ontology to
classify tag terms that represent multiple concepts? By mapping SUMO to
terms in WordNet, ambiguities are avoided in cases where words have
multiple meanings. Imagine searching for the term Washington. You would
get results for George Washington (a president), Denzel Washington (an
actor), Washington, DC (a city), the Washington Monument (a large
monument), Washington State University (a school), and more. If
folksonomies can be mapped in a similar manner it might be a valuable
mechanism to advancing semantic web interests. Of course, disambiguation
is only one of the benefits of using SUMO and there are hundreds of
other applications that can embrace it.

Now that I have covered the bases, it is time to bring about the
compliments for the book.  This is going to be short by contrast!

Chances are if you’ve already picked up this book, you have an immense
interest in the topic. This book represents the finest body of knowledge
on SUMO and will be a valuable reference for decades to come. It is a
pleasure to be chosen to introduce the book and it will remain one of my
nearest reference materials while I continue to work in the field of
computer science. I hope you share this view and become involved in the
official SUMO list server (at where
discussions on SUMO continue. Enjoy the book and keep it nearby for
reference for once you have crossed the chasm of knowledge, you will
start relating everything to ontological terms.

My final word?  If you are interested in this subject matter, you owe it to yourself to pick up a copy of the book and consider the sheer genius of Adam Pease.  You will not be disappointed.