I've always taken a desperate hacker approach to RDF. I became a
convert to the XML way of expressing documents right away, in 1997. As
I started building systems that managed collections of XML documents I
was missing a good, declarative means for binding such documents
together. I came across RDF, and I was
sold. I was
never really a Semantic Web head. I used RDF more as a desperate hacker
with problems in a fairly well-contained domain. At that time the Sem
Web aspirations behind RDF didn't get in the way too badly, so all was
well for me. My desperate hacker mindset is probably best summarized in
this XML-DEV message from may,
2001.
I see RDF as an excellent modeling tool for closed systems. In my
practice, most of the real "knowledge" is in the XML documents at the
nodes, but RDF can provide important indexing and relationship expression
between these nodes.
I go on to in that message expand on where RDF fits into the
architecture of apps for my needs. I also mention a bit of wariness
about how RDF's extravagant ambition (i.e. Sem Web) could affect my
simple, practical needs.
I quickly found out on www-rdf-logic that in the discussion there,
the
assumption appear to be that in the semantic Web the RDF statements would
carry a heavy burden of the "knowledge" in the system. I've started to
think that this idea is a straw man set up by folks who would like RDF to
be a fully-blown knowledge-representation language, but if "strong RDF"
is indeed a cog in the SW wheel, I fear I must excuse myself from
contributing to that discussion because It places me immediately out of my
depth.
I've spent a lot of time with RDF, and for a while it was a big part of
our consulting practice, but recently applications architecture and
schema design (RELAX NG mostly, thank goodness) have been the biggest
part of the day job. Honestly, I started to lose touch with where RDF
was going. I knew there were some common-sense fixes to bugs in the
1999 specs, but I also knew there were some worrying injections of Sem
Web think into the model core. Recently I've had some opportunity to
catch up. SPARQL just doesn't fit my head, so a few of us in the Versa
1.0 gang, including Mike Olson and Chimezie, have started
work towards Versa
2.0. Mike
and Chime have kept up with the state of RDF, and in several
discussions, I expressed what I felt were simple view of the RDF model
and got in response what I thought were overblown claims about how the
RDF model's semantics have been updated. In all cases when I checked
the relevant parts of the latest RDF specs I found
that Mike and Chime were right and it was rather the RDF model itself
that was overblown.
I've developed an overall impression of dismay at the latest RDF model
semantics specs. I've always had a problem with Topic
Maps
because I think that they complicate things in search of an unnecessary
level of ontological purity. Well, it seems to me that RDF has done the
same thing. I get the feeling that in trying to achieve the ontological
purity needed for the Semantic Web, it's starting to leave the desperate
hacker behind. I used to be confident I could instruct people on almost
all of RDF's core model in an hour. I'm no longer so confident, and the
reality is that any technology that takes longer than that to
encompass is doomed to failure on the Web. If they think that Web
punters will be willing to make sense of the baroque thicket of lemmas
(yes, "lemmas", mi amici docte) that now lie at the heart of RDF, or
to get their heads around such bizarre concepts as assigning identity to
literal values, they are sorely mistaken. Now I hear the argument that one does not need to know hedge automata to use RELAX NG, and all that, but I don't think it applies in the case of RDF. In RDF, the model semantics are the primary reason for coming to the party. I don't see it as an optional formalization. Maybe I'm wrong about that and it's the need to write a query language for RDF (hardly typical for the Web punter) that is causing me to gurgle in the muck.
Assuming it were time for a desperate hacker such as me to move on
(and I'm not necessarily saying that I am moving on), where would he go from
here? I hear the chorus: microformats. But I see nothing but nasty
pricklies down that road. IMO microformats are now where RDF was back in
1999 (actually more like 1998) in terms of practical use to the Web, but
in making their specification nothing but a few notes scribbled in a
WIki, they are purely syntactic, and offer no semantic anchor. As such,
I'm not sure why it makes sense to think of microformats as different
from XML ca. 1997. What's the news there? They certainly don't solve my desperate hacker need for
indexing and expressing relationships across XML documents. I don't
need the level of grounding that RDF seems to so slavishly be aiming for
these days, but I need more than scattered Wiki notes.
GRDDL is the RDF community's bid to fix microformats up with some grounding. Funny thing is that in GRDDL they are re-discovering what the desperate hackers at Fourthought devised almost four years ago in "document definitions" to map XML syntax to RDF statements using XPath and XSLT. The desperate hacker in me feels at the same time vindicated, and left in the weeds. Sure GRDDL gets RDF some of what I've thought it's needed for ages, but it still does wed microformats to the present-day RDF model, which is just what I'm becoming uneasy about.
I'm more wandering around than getting anywhere in this entry, I freely admit.
Working the grounding layer for XML is still what I consider to be my
work of primary career interest. Lately, this work has led me more in
the direction of schema annotations, as you can see in some of my
recent articles on IBM
developerWorks.
Architectural forms are the closest thing the SGML old-heads gave us to
syntax-semantic grounding (grounded to HyTime, of course), and AF were a
creature of the schema. Perhaps it's high time we went back to learn
that old-head lesson and quit fiddling around with brittle post-schema
transformations.
As for the modeling system to use as the basis for grounding XML syntax,
I don't know. I stick to RDF for now, but I'll have to see if it's
possible to use it interoperably while still ignoring the more esoteric
flourishes it's picked up lately. The Versa discussions at first gave
me the impression that these flourishes are inevitable, but more recent
threads have been a bit more encouraging.
I certainly hope that it doesn't take another rewind to RDF circa 2000
to satisfy the desperate hacker.
[Uche Ogbuji]