Copyright 2009 David Dodds
This article is about: SVG, graphics, OWL / RDF
ontologies and ontological 'meaning'.
Have a look at the SVG barchart picture and SVG
source code for the picture. It's in the File section
of this Yahoo Group. Also you'll find there 'source
code snippets' taken from the
"ontology.dumontierlab.com/statistical-graph-complex",
which you can get for yourself in its entirety if you so
desire. This source code form is OWL / RDF, a
name-space of XML.
Looking at the rendered version of the SVG code we
see a bar graph, with axes, date text, coloured bars
and so on. There's also a title and subtitle below
the graph itself.
Looking at the SVG code we see that the graph-bars
are SVG rectangle elements. The text is SVG
text-elements. We also see the SVG metadata-element
with a bunch of meta data content.
I was the author of the W3C SVG 1.0 metadata-element.
It was designed to use parseType="literal" in its
processing of the content of the metadata-element
('tags'). This allowed the SVG program, which does
the reading/interpreting/rendering of the SVG 'graphics
stuff', to pass the whole (metadata) thing to an
external processor. (External to SVG graphics
processor.)
In the W3C SVG metadata-sample-BE-01.svg file which
was the official SVG meta data file defined for users as
an example / sample of how SVG metadata element could
be used, I included (I made the SVG metadata element
example, Lofton Henderson kindly packaged it for the
sample collection, including clipping the right side of the
original.) three kinds of metadata: RDF, MathML and
XTM (XML Topic Maps) all in one file, all in one
metadata element instance. The graphics worked fine,
the metadata was good. You can see a .jpg made of
the SVG sample packaged-version of my extensive
metadata-including SVG file in the File section of this
Yahoo Group. (Note the W3C Copyright of that
SVG file rendering.)
Looking back at the SVG code for my barchart
illustration we see that each of the 'bars', described
via an SVG rectangle element, has an 'id'. XML allows
one to put IDs onto items. This XML ID allows
one to reference or 'point at' individual SVG elements.
IDs like 'bar1' or 'line5' are meaningless to the
computer, they are just symbol-strings, so the
names could be just as well be things like 'gronk5'
and 'blatt9' for all the computer knows or cares.
(But wait, 'bar' and 'graph' are meaningful terms in
the ontological system, read further.)
Looking into the metadata section of this file we
see that the same SVG rectangle- and
text- element IDs are participants in the RDF
graph structure stated there. This means
that whatever sense the computer can make out
of the RDF structure there relates that meaning
to the visual, rendered illustration, the bargraph
/ barchart 'picture' which you can see.
The RDF there relates spatial relationship information
between the various coloured barchart-bars,
the text annotations underneath and so on.
Note that reasoners (reasoning programs) like
SPARQL, Pellet and FACT can use these
SVG metadata contents directly to reason about
/ with. When you look at the bargraph picture
its obvious to you that bar5 is next to bar4,
touching it and so on and that the texts text1
and text2, the title and subtitle, are below the
bars. This is news to the computer and thanks
to the SVG metadata section and reasoner programs
the computer can 'see' this also.
(You might ask so what? well you might try
doing picture searches based on spatial relationships
of the constituents in the picture, or other spatial
relationships (size, volume, colour/hue, relative
motion or other change, yadda yadda).
Now if we look at the SVG text element named
ID=text1 we can see that we can use the
SVG metadata element to link this element
with the ontological term
'<owl:Class rdf:about="
http://ontology. dumontierlab.com/XAxis">'.
Have a glance through the snippets of the
dumontierlab ontology in the File section. There
are a number of ways that we could achieve this
linking. One of them uses the ID text1 and
associates it with the ../XAxis ontology item.
W3C has kindly provided RDF terms such
as seeAlso which can be used to perform
such associations. What we have achieved
here is that now the computer can 'know'
that the date text running along the bottom
of the barchart / bargraph 'is a' XAxis semantic
object (aka "XAxis 'thing'"). The ontology, have
a look at the code there, tells the semantics or
meaning of graph-charts of the bar, line and xy
types. Using SPARQL, or Pellet the computer
can reason about the meaning / use / occurrence of
spatial things in the barchart picture.
It can reason that the bars are above the title
texts, that bar4 is to the left of bar5, that the 'height'
of bar7 represents a magnitude of a number value
, and so on. With Pellet etc the computer can reason
about the picture.
I will have more on this to say when we look at
the application of ontological systems to MathML.
This provides semantics / meaning to not
only mathematical operations themselves but also
to the second order meaning of an ensemble of
mathematical processes.
In plain English, the computer can understand
that a particular MathML XML data set
(aka file) 'is' a collection of multiplication
and division operations, but it is also (the
second order thing) an instance of a first-derivative,
and that those are used to do such and such
calculations and which achieve such and
such achievements by doing so.
You can see that the computer's understanding
of mathematics brings exciting new capabilities.
One other point. MathML can reside in the
SVG metadata element content and be used
to describe the origin of the data which the
bargraph is depicting! Since the computer
can understand the mathematics behind the
MathML instance contained in the bargraph's
SVG metadata section, the computer can also
understand the mathematics behind the
nature (such as height) of the bars in
the bargraph!
It is possible to use Zadeh Fuzzy Set Theory
(a kind of mathematical functions) to encode
general notions such as 'high' (in a context),
'ok', 'low', 'steep', 'shallow', 'precipitous'
and so on in a mathematically meaningful,
rigorous way. This math can be applied
to charts of financials, weather data and
so on, and provide text based analysis
(in context) of 'the numbers' there.
This kind of computer understanding
has positive ramifications for second
order metaprogramming, which we
will see in the article about that topic.
We will also see that in the article about
how BIM is a Green technology, and
how 3D and architectural data /
drawings / pictures can be married
up with OWL, RDF and MathML.
The result of the latter includes things
like photo-realistic animation of
buildings and the computer
understanding of their response to
strong sunlight. (not merely doing the
engineering calculations for said but
not having a clue or any understanding
of those calculations or even that they
were done! , as in
present day systems.)