Preface
The
Resource Description Framework
(RDF) offers developers a powerful toolkit for making statements and
connecting those statements to derive meaning. The World Wide Web
Consortium (W3C) has been developing RDF as a key component of its
vision for a Semantic Web, but
RDF's capabilities fit well in many different
computing contexts. RDF offers a different, and in some ways more
powerful, framework for data representation than XML or relational
databases, while remaining far more generic than object structures.
RDF's foundations are built on a very simple model,
but the basic logic can support large-scale information management
and processing in a variety of different contexts. The assertions in
different RDF files can be combined, providing far more information
together than they contain separately. RDF supports flexible and
powerful query structures, and developers have created a wide variety
of tools for working with RDF.
While RDF is commonly described as an arcane tool for working with an
enormous volume of complex information, organized with ontologies and
other formal models, it also has tremendous value for smaller, more
informal projects. I learned about RDF, specifically RDF/XML, when I
started working with Mozilla back in the early days of development
for this project. At the time, the Mozilla team was using RDF as a
way of defining the XML used to provide the data for dynamic tables
of contents (TOC) in the application framework. This included
providing the data for the favorites, the sidebar, and so on.
I created a tutorial about developing applications using the Mozilla
components as part of a presentation I was giving at an XML-related
conference. Unfortunately, every time a new release of Mozilla was
issued, my tutorial would break. The primary reason was the RDF/XML
supported by the application; it kept changing to keep up with the
changes currently underway with the RDF specification itself. At that
point I went to the RDF specifications, managed to read my way
through the first specification document (the RDF Model and Syntax
Specification), and have been following along with the changes
related to RDF ever since.
One main reason I was so interested in RDF and the associated RDF/XML
is that, ever since I started working with XML in its earliest days,
I've longed for a metamodel to define vocabularies
in XML that could then be merged with other vocabularies, all of
which can be manipulated by the same APIs (Application Programming
Interfaces) and tools. I found this with RDF and RDF/XML.
Because my introduction to RDF and RDF/XML had such pragmatic
beginnings, my interest in the specification has always focused on
how it can be used in business applications today, rather than in
some Semantic Web someday. When I approached
O'Reilly & Associates about the possibility of
writing a book on RDF, I suggested a practical introduction to RDF,
and the title and focus of the book was born.
This book attempts to present all the different viewpoints of RDF in
such a way that we begin to see a complete picture of RDF from all of
its various components. I say
"attempt" because
I'm finding that just when I think I have my arms
around all the different aspects of the RDF specification, someone
comes along with a new and interesting twist on a previously familiar
concept. However, rather than weaken RDF's overall
utility, these new variations actually demonstrate the richness of
the specification.
It is only fair to give you a warning ahead of time that
I'm a practical person. When faced with a new
technology, rather than ooh and aah and think to myself,
"New toy!", my first response tends
to be, "Well, that's great. But,
what can I do with it?" I am, by nature, an
engineer, and this book reflects that bias. Much of RDF is associated
with some relatively esoteric efforts, including its use within the
implementation of the so-called Semantic Web. However, rather than
get heavily into the more theoretical aspects of RDF, in this book I
focus more on the practical aspects of the RDF specification and the
associated technologies.
This isn't to say I won't cover
theory—all engineers have to have a good understanding of the
concepts underlying any technology they use. However, the theory is
presented as a basis for understanding, rather than as the primary
focus. In other words, the intent of Practical
RDF is on using RDF and the associated RDF/XML in our
day-to-day technology efforts in order to meet our needs as
programming, data, and markup technologists, in addition to the needs
of the businesses we support.
This book provides comprehensive coverage of the current RDF
specifications, as well as the use of RDF for Semantic Web activities
such as the ontology efforts underway at the W3C. However, the focus
of this book is on the use of RDF to manage data that may, or may
not, be formatted in XML to manage data, often XML data.
|