Categories
Just Shelley Weblogging

Caricatures and Shadows

Recovered from the Wayback Machine

I’m thinking more about the concept behind discarding weblog archives. I’ve been re-reading some old posts, some nice and some not so nice. Those posts that are a year or two old aren’t even recognizable.

I’ve earned the sobriquet “Burningbird” honestly, as I’ve been nothing if not hot in much of my writing. Passionate, yes, and there’s nothing wrong with passion. But there’s also a lot of anger and pettishness and I cringe to see me in these words.

If I wanted to grow my popularity, I would feed the fire because this attracts the links, the comments, and the discussions. The more petulant the tone, the more vicious the words, the more noise and flurry of activity—flies around shit. Played correctly, I could even become an A-lister someday, until I burn up and become nothing but a cinder, driving away all that’s important.

Lately, life intrudes and does so significantly, and I just don’t want to feed the flames. Being passionate about causes, yes; more now than ever. Being passionate about truth, yes; the truth is threatened daily. But fighting with other webloggers—the nit nitting, the pick picking— it’s getting old. It gets older, with each level of dust layered on the history of this weblog.

If you all met me in person, you’d be disappointed. I’m not the person in my words, in these pages that stretch back like too long a road. They are a caricature of me, and I am only a faint shadow in them.

Categories
Just Shelley outdoors

Shortness of hair

I finally bowed to wisdom and hiking in hot, humid Missouri summers and had my hair cut short. Short, short – about 3 inches in length all around.

At the hair place – not a fancy place, Sam’s or some such thing – the stylist really took her time, carefully checking the cut every few minutes, peering at my image in the mirror to ensure the sides were even. During and between snips we discussed the problems another stylist was having that day with a boyfriend who had a drug dependency problem. She, the other stylist, cut my roommate’s hair. Yes, there is a deity.

I wasn’t sure about the haircut at first because I usually wear my hair shoulder length or longer. It’s thick and very wavy, and that’s the problem – when I walked I would get things in my hair, branches, and leaves and bugs, and then I would sweat, getting the hair wet. I couldn’t leave the windows down to cool, as my hair would get in my eyes, so I’d have to turn on the air conditioner, and then my hair would dry into this crinkly, curly mess somewhat like a Brillo pad. With stuff stuck into it.

After last week’s walk, which I’ll write about later, I decided enough was enough. Bring on the buzz cut.

After a couple of days of getting used to the cut – and it is short, seriously – I had to admit that it was cooler and easier to take care of. I also noticed that it subtly flattered my face, added a touch of, dare I say it? Cute. I’m close to 6 feet tall and 48 years old – I’ll take all the cute I can get.

Looks aside, the hair cut paid for itself today when I went to the Route 66 state park for a walk, and was able to have the window down all the way, hair whipped about and not a strand in my eyes. The experience went to my head, and I left the window down on the freeway. A bit of mistake, that, because the wind was blowing so hard it tossed a bill out the window that was lying in the front seat.

Pity.

It was a relatively pleasant day today, but when you’re surrounded by all that green, right next to the Meramec River, it’s going to be humid; I began to perspire, to put it delicately. However, instead of ending up with a soggy mess at the back of my neck, all I had was a tiny little flip of hair that curled up in the moisture, cute as a baby mouse in its nest, leaving plenty of bare neck to catch the breezes.

Ahhh.

I scrambled about by the river, climbing down to the water’s edge and walking along it, hacking through the tall weeds by the side. I’m sure there was any number of Missouri native arthropods lurking in wait, crying out in tiny, hungry little voices, “Sons and daughters of the clan! Here be meat!” But if anything landed in my hair, I was able to easily brush it out again, easily.

(It was a pleasure to discover today that I could climb down a steep trail I couldn’t make this last winter, though I’m sure this has more to do with my increased walking this summer than my hair cut. However, it is satisfying knowing that you can do something when older that you couldn’t do when you were younger. So often it’s the converse.)

I’m finding that convenience aside, I like my hair cut. I like the window open when I drive, and the little curl along my nape, and the cool breeze on my neck. And those funny loopy things are ears – fancy. Next thing you know, I’ll be wearing neon pink, be sucking on a lolli, and telling you all to call me Gigi.

Categories
RDF Writing

RDF: Ready for Prime Time

Originally published at O’Reilly, and recovered from the Wayback Machine.

Not long ago, Marc Canter, one of the early founders of Macromedia, talked about RDF and the Semantic Web in his weblog. Specifically, he wrote:

“I’ve been spending more and more time trying to grok the RDF folks. I have to say I like what I see and hear, but what I don’t see are many apps and services actually up and running and working.

We have a saying over here: “put up or shut up.” I’m still looking for two different RDF apps or services to work together in some meaningful way. Then bring on the books.”

Considering that I’m “bringing on a book” on RDF this month, I thought it appropriate to answer Marc’s plea for meaningful, working examples of RDF apps and services, especially those that work with other RDF-based services. My problem, though, is that I have only a limited amount of time and space in this article; I can only cover a few of them. However, best to just start, but first, a little digression into RDF and XML.

RDF/XML: The Syntax That Could

You probably know that RDF has both a defined model as well as a preferred serialization, RDF/XML. In many ways there’s been far less criticism of RDF than there has been of the RDF/XML syntax. Tim Bray, one of the creators of XML has said:

“Speaking only for myself, I have never actually managed to write down a chunk of RDF/XML correctly, even when I had the triples laid out quite clearly in my head. Furthermore, once again speaking for myself, I find most existing RDF/XML entirely unreadable. And I think I understand the theory reasonably well.”

Tim even went so far as to offer his own version of RDF/XML, which he called RPV.

I’ve found that the more a person works with markup such as XML, the more they dislike RDF/XML. I’ve also found that no matter the alternative proposed, someone else will dislike it just as much, which makes RDF/XML a bit of a “damned if you do, damned if you don’t” proposition.

Ultimately, if RDF is ready for prime time, then so is RDF/XML. Regardless of our views of it, it’s official, it’s real, and it’s here now. So on to the RDF applications, starting with the basics: the APIs.

RDF APIs

For every programming language you’re interested in, there’s most likely an RDF API and a library implementing it. If you’re interested in Java, one of the most popular Java RDF libraries for RDF is Jena, from HP’s Semantic Web Research Lab. The current version of Jena is 1.6.1, which is the one I’ve used, but there is a beta-release of a new version (Jena2), and it’s the one you’ll most likely want to investigate. As you’ll see later, Jena is used for several utilities and applications.

For those interested in Python, the most popular RDF library — which also includes a triplestore with several different backends — is Daniel Krech’s RDFLib. Want something a little more unusual? Try Wilbur, a Common Lisp RDF library, written by Ora Lassila, one of the creators of RDF.

For those who work primarily with Microsoft development environments, there is a C# RDF Parser called Drive, which provides an API to parse RDF/XML into an in-memory RDF graph for manipulation. It’s fully compatible with the .NET platform, and it can also be used with the open source variant of .NET, Mono.

If Perl is more your thing, there’s Ginger Alliance’s PerlRDF, a library I’ve used in several small applications at my site. And other, popular applications like Six Apart’s weblogging application, Movable Type, are also using it. Six Apart extended the PerlRDF module by creating a new module, XML::FOAF, which enables autodiscovery and processing of FOAF files. FOAF, or Friend-of-a-Friend, is an RDF vocabulary for defining hierarchies of acquaintances and is now one of the most popular uses of RDF/XML.

If you want support for multiple RDF languages as well as a more sophisticated framework and data persistence, you’ll want to check out Dave Beckett’s Redland. In addition to providing a persistent data store, as well as multiple language support (Python, Perl, Java, Tcl, and Ruby), Redland also provides support for an independent RDF parser called Raptor. Raptor has been used, independently, in other applications, including several FOAF apps, as well as RDF Gateway, a commercial product I’ll discuss later in this article.

RDF Vocabularies

FOAF is one of the more popular vocabularies of RDF/XML. Just a quick perusal at the FOAF web site will show dozens of uses of FOAF in tools ranging from a FOAFBot, created by Edd Dumbill and used to provide services within chat forums, to uses of FOAF in desktop tools within the OS X environment for managing contacts. My own FOAF file is at http://weblog.burningbird.net/foaf.rdf, and consists of pointers to friends I know online, though the list is incomplete.

The beauty of FOAF lies in its simple way of describing personal information, including our work and academic affiliations. The power of FOAF lies in its ability to list acquaintances who themselves may have FOAF files. Over time, this interlinked network can expand until it’s a simple matter of mapping out who is connected, directly to indirectly, to each other.

Another RDF vocabulary in popular use is RSS 1.0. Webloggers and other online publications use RSS 1.0 to provide information about updates at their web sites, including the date of the update, the author, an excerpt of the material and so on.

A third RDF vocabulary is the RDF/XML used to describe Creative Commons licenses, a new way to provide more detailed information about use of copyrighted material.

All three vocabularies use, in one way or another, elements from the Dublin Core Metadata Initiative (DCMI), as defined in RDF/XML. However, these vocabularies aren’t the only ones available using RDF/XML. In fact, the W3C uses RDF/XML to define the underlying syntax for its own Web Ontology Language (OWL) effort. With RDF providing the underlying model, and OWL adding higher-level ontology support, it’s only a matter of time before a host of sophisticated, domain-specific ontologies spring up, all of them interoperable because of the underlying use of RDF/XML.

In fact, there’s a host of tools and utilities people can use right now to work with RDF/XML directly or with OWL.

Tools and Utilities to Work with RDF/XML

As much as I like RDF/XML, even I’ll admit that it requires time to understand and work with, and not everyone has either a desire or an inclination for this effort. Thankfully, there’s plenty of tools available to allow people to manually create or read RDF/XML.

The most commonly used RDF utility is the RDF Validator, a tool to check your RDF/XML to ensure that it’s valid, as well as to generate different views of the model data. I find that when working with an API, I’ll use the Validator to validate my sample RDF/XML, view the model to ensure I’ve created the appropriate one, and then create the triples to use as a pattern with my RDF/XML API calls, in whatever language I’m coding.

Another handy utility for working with RDF/XML is the BrownSauce RDF Browser. This web application uses Jena. It can open an RDF/XML document and provide easily readable and hypertext-linked pages of the RDF data contained in the document. Best of all, the browser also opens any associated RDF Schema documents that provide information about the RDF elements themselves, through the relationships described in the schema, and through comments provided with the schema elements.

A long-time advocate of RDF and a friend of mine, Danny Ayers, has been busy at work on Ideagraph, a tool for visually mapping ideas and then generating RDF/XML from the results. In addition to this effort, the tool can also act as a RDF-based weblogging tool, as well as an RSS aggregator.

Isaviz is another popular visual-editing tool for creating, importing, and working with RDF documents in RDF/XML, and within other serialization formats such as Notation 3 and N-Triple format. It’s particularly useful when you’re creating a new RDF vocabulary and want to use a visual tool for this effort rather than trying to create the vocabulary in RDF/XML manually. However, I prefer to use the tool to work with existing RDF/XML documents, particularly larger ones, because the tool has a way of being able to zoom in on components of a model, to create snapshots of particular paths, and to query on specific elements. In particular, if you’re documenting an existing RDF/XML vocabulary, Isaviz can be useful for providing snapshots of particular instances of data.

Most of these tools are geared more for working directly with RDF/XML vocabularies. If you’re working with an ontology instead, then you must look at Protege, from Stanford University. This tool not only allows you to define an ontology using an easy-to-use user interface, you can then create forms to capture the ontology data. Once the forms are defined, the tool can then be used to capture instances of data based on the ontology. Currently. effort is underway to provide support for OWL files, and mapping between Protege’s own ontology language and the W3C language. Regardless, the data captured by Protege can be output in multiple formats, most particularly RDF/XML.

Peripheral RDF Support in Other Tools and Utilities

Of course, tools that focus purely on RDF, whether to create RDF or to consume RDF, are handy when you’re starting work with RDF–but what about RDF in the real world?

Probably one of the first uses of RDF/XML was by those involved in the Mozilla effort, which still uses RDF/XML for all of its automated Table of Contents data and processing. In fact, it was through my interest in the Mozilla development environment that I became exposed to RDF/XML (see www.mozilla.org/rdf/doc/).

If you’ve worked with Linux then you’re most likely familiar with RPM, a way of packaging Linux applications for easy installation. What you may not know is that RDF has been used with RPM to provide metadata about the package being installed. A utility created by Daniel Veillard, rpmfind, uses RDF to discover RPM installations on Rpmfind.Net, a database of RPM packages maintained by the W3C. Though the original creator of the product is no longer maintaining rpmfind directly, the source is now located at sources.redhat.com, and I’m still using rpmfind for my own server.

Earlier I mentioned Movable Type and its use of RDF for autodiscovery of FOAF files. The application also uses RDF/XML to annotate weblog entries with trackback information, which can be used to document links from one weblog to another and provide reverse link information. This same functionality has been isolated for use by other tools, weblogging or otherwise.

Spring, a Mac OS X desktop tool created by Robb Beal, provides support for dragging and dropping FOAF files. Find an FOAF link in a web page? Click on it and drag it to Spring in order to automatically transform the FOAF contents into the tool.

As ubiquitous as RDF is becoming, creeping its way into a favorite tool or utility near you, the power of the RDF model’s inferential capability is particularly apparent when you look at some of the larger applications that are being built on RDF.

Larger Applications

People at MIT are working on an application, called DSpace, which will maintain a digital repository of information. The application is geared to any larger organization such as a college or university that wants to maintain a searchable index of publications from its members. DSpace is a freely available, open source application that makes use of an ontology, Harmony/ABC and RDF to maintain the historical subsystem. RDF Gateway is a Semantic Web application server that uses RDF as the core of all of its services. With the Gateway, you get access to a persistent data store that can be queried using an inferential engine that goes beyond normal SQL-like queries. Included with the application is support for server-side scripting similar in nature to both ASP (Active Scripting Pages) and JSP (Java version of same).

Siderean Software’s Seamark is another commercial application that makes use of RDF and a persistent data source, but Seamark focuses primarily on site navigation. Plugged In Software’s Tucana Knowledge Store provides sophisticated knowledge-based querying of large stores of data, again based on RDF.

These companies are just the first to start looking at RDF and the RDF data model for use in large-scale, sophisticated applications. And then there’s the Semantic Web.

The Semantic Web

It’s funny in a way, but I can sit down and rattle off a dozen uses for the RDF data model and the associated RDF/XML without once mentioning its primary purpose, which is to provide support for the Semantic Web efforts. All uses of RDF for any purpose are good because they increase our familiarity with the specification as well as the syntax. In addition, applications that increase the level of RDF/XML out on the web add to the pool of accessible data on which we are slowly building the Semantic Web. Through the use of RDF, we know that all of the vocabularies are compatible.

Beyond these good and practical uses of RDF I’ve described earlier in the article, and unlike XML or HTML or XHTML, the RDF model, and its associated syntax, brings with it the ability to define statements about data, rather than to just record pieces of data. Add to this the use of OWL, and we begin to have the ability to mine for knowledge, not just words.

Consider poetry. My favorite poem is Walt Whitman’s “Song of the Open Road”, with its friendly and positive imagery of life as an adventure, a road to follow with glee. In fact, the use of “road” as a metaphor for life and life’s journey is quite common in poetry. (See an excellent article, “Poetry of the Open Road.”) However, it’s the very use of imagery and metaphor in poetry that defeats traditional web discovery techniques.

Currently we have the ability to use keyword searches within search engines such as Google, and with this we can find poems that mention the word “road”. This is all well and good, but in the future, as the use of RDF and RDF/XML expands, we’ll be able to do searches that not only provide links to poems that have used “road”, but also know which poems use the word as a metaphor for life, which have used it metaphorically to describe freedom, and which are just talking about roads as roads.

Eventually as RDF insinuates itself throughout the web, as it has already started, you’ll be able to search on “road” and “poem” and “metaphor for life” and not get this article back as a result. As much as I like the thought of people reading this article, that search result will be a good thing because this article is not about poems, metaphors, and life. It’s about RDF and how it is now more than ready for prime time.

Categories
Writing

Danny’s on at XML.com

Hey, I’m not so caught up in the debate excitement that I’m going to fail to note Danny Ayers first xml.com article, “Extending RSS”.

Congrats, Danny! Excellent read.

Categories
Burningbird Technology Weblogging

Two down, three to go

Recovered from the Wayback Machine.

I’ve installed two weblogs in the For Poets site:

Linux for Poets – maintained by the freebie pMachine installation.

Internet for Poets – maintained by WordPress an open source weblogging tool.

Both support comments and trackbacks, and both weblogs feature the look and feel straight out of the box.

I couldn’t install Blojsom, based on RDF and Jena because it requires a Java servlet container and I don’t want to install Tomcat. In addition bBlog was a little too beta, and Bloxsom a little too simplified, especially since I’m reviewing tools for non-techs. However, may change my mind and go with Bloxsom.

To look for other weblogging tools to use, I spent some time randomly clicking on weblogs in weblogs.com. Interesting results:

  • There are a lot of people using Movable Type. A lot. And there’s something about many of the MT sites that look similar – I could tell a MT site as soon as it opened, without looking for the MT banner. Regardless, I can see why Six Apart got VC funding – there are a lot of people that use MT.
  • Still lots of Blogger and BloggerPro sites – but no where near the number of MT users.
  • Light grey text and a slightly darker grey background is not elegant – it’s unreadable
  • Please don’t show pictures of your rash
  • Is that legal?
  • Where are the Radio weblogs?
  • No AOL or LiveJournal – they don’t ping weblogs.com?
  • Some people are just plain tacky, especially in what they allow advertised at their weblogs. Dirt cheap ammo? Now guess what type of weblog I found this one one.
  • Is this photo for real? Looks retouched. Still kinda cool.
  • Ve are Movable Type and all your weblogs belonga us!
  • Larry using Bloxsom – I think I’ll give this another shot. At least it’s not MT.
  • What the world needs more of – diagonal weblogs
  • Why do people stick these things all over their weblogs? Weblog after weblog with very little text, but lots of empty space and little buttons and tiny people and graphics and hearts and flowers and quizzes and mood indicators and other things that are anything but writing. It’s as if their weblogs are only wire frames on which to poke bits of string and tinsel and colored ribbon. Do they weblog only as a placeholder? A way of saying, “I stake this space?”
  • Oh, there’s a LiveJournal.
  • Great come back for a complaint on style – cement canoes
  • 0xDECAFBAD also uses Bloxsom – okay, I’m convinced. Dorothea, he’s quoting your weblog.
  • Hey! Bloomington, Indiana library won’t install porn filters. Good on you Bloomington.
  • There was a war of the weblogging tools, and the squirrels won
  • There’s Tinderbox – nope, not at 145.00
  • Ohmigod! Pink! With little sprinkly, glittery things all over. I’ll take the grey on grey
  • Finally! here’s a Radio weblog! It’s called “Blogging Alone”. No shit.
  • What is Blogstreet? Am I on the list? No? Then who cares. I found this at the Agonist – wasn’t this the weblog that was accused of plagiarism? Yup, that’s what it takes to be a top weblog.
  • That’s a great name for a weblog Opinions you should have
  • I’m dying to know what this weblog is talking about – but scroll down – isn’t the flower photo nice?
  • From Ozark Rambler:

     

    For those I haven’t spoken to lately, “herself” is doing very well and “on the mend” following her surgery a month ago. Your prayers and support during the past month has been very much appreciated.

    She’s not quite up to doing any “plowing or mowing” yet, but then, those of you who know her realize that she wasn’t to excited about participating in those activities anyway. come to think of it, they don’t excite me much either.

    Thank you Ozark Rambler for you simple tales of berrying in chigger filled woods, for your sharing, your humor, your interesting political views and Orwellian quotes, and for reminding me that there is more to weblogging than Echo/Atom/RSS and fights between silly boys.

A productive exercise, one I recommend people do weekly. I didn’t find all the weblogging tools I needed, but I found something more important: perspective.