Categories
RDF Specs

Necho update

Recovered from the Wayback Machine.

I’m off to walk around favorite places today, but first an update on what was Echo and now looks to become Necho by default.

I tried to catch up on the wiki, but a couple of days on the road has put me hopelessly out of touch on this project. However, there seems to be a move towards a new name, a syndication format, and an API. I don’t like the new name – Necho for Not Echo. I’m indifferent to the syndication format, and there seems to be a couple of variations on the API. Still digging through this info.

Danny praises me for creating an RDFOWL vocabulary of N/Echo. I wish I could take credit for this, Danny, but someone else wrote these vocabularies – or demonstrated using existing vocabularies for the second example.

My biggest concern with this effort is not that the name will stay at Necho, or that the syndication feed and API won’t work. My biggest concern is that there is a small core of controlled data forming the current effort, while a lot of other people are slamming stuff together for ‘extensions’.

The first draft of the data model for N/Echo was a great version 1.0, but we should be looking at version 2.0, which accounts for things like categories and threads – the information that is the semantically rich aspect of a weblog entry. After all, there is little to be learned about recording that this entry was published on this date by this person. Where’s the category, or topology associated with the entry? How do we record that my previous entry was about traveling, San Francisco, photographs, the fact that dogs are no longer allowed on dog beach? How do we record that this item links to a post by Danny, and references a wiki, and that I’m sending a trackback ping?

We can record the N/Echo data in RDF/XML, but it’s really not going to extend the semantic richness of what is fairly simple data: entry by person on this date and with this link and of this type.

We can forgo all that boring data model stuff and just go to the extensions to the XML – but for what? The syndication feed? The API? And do we all agree on what we mean by category?

The core effort will be a success, of that I have no doubt. And that’s a good start. However, this core effort is surrounded by chaos, and that troubles me.

Regardless, good job to the people who work so hard, and seemingly do not sleep. Or eat. Or make love to their significant others, and play with the kiddies and poochies. And I know you all love me, which means you must not hate me, even if my interests do diverge at this point from the majority of the people forming the XML and creating them RESTful APIs.

Categories
RDF Specs Technology

RSS: The neverending story

Recovered from the Wayback Machine.

Hi, Evil Twin here!

I’m not sure why, but the very mention of RSS tends to bring me out of my quiet corner, where I sit filing my nails while Burningbird does her thing. So, while she’s off cleaning house and trying to get the next episode of that RDF Poetry Finder finished, I thought I would just sneak in here, and add a new post. Just for fun.

There’s been considerable discussion about RSS for Weblogs, and RSS profiles, and XHTML in RSS and RSS and FOAF, and so on lately. In fact, if RSS were chum, you could walk on water, there are so many sharks circling about. Sam’s is a good place to track most of the discussion, so start here, then here and here.

Much good input, lots of great ideas from smart people. However, it struck me as I leisurely meandered through all of the juicier bon mots, that what the discussion needed was a little perspective.

I got to thinking about the possible impacts that could occur if the same level of energy applied to the discussions of RSS were applied to other areas of human interest such as science and the humanities. Based on this, I came up with the following, my list of things we’d be doing now, if only RSS energy was universal.

 

1. Next vacation I’d just hang about in the next neighborhood. Andromeda.

2. We would have a cure for the common cold. Unfortunately, 1 out of 20 people who take the cure die.

3. Men will finally understand why they’re from Mars and women are from Venus.

4. We’ll be using cold fusion devices to chill our cans of beer.

5. We find Schrödinger’s Cat. His name is Bob.

6. The next blogging get together will have 200,000 people attending, all teleporting in. The remaining 300,000 will just pick up the details from their minds.

7. Virtual sex would no longer be so virtual. No, I’m not giving details.

8. Our SUVs get 1000 miles to a gallon of gas.

9. New techniques can compress 1000 gallons of gas into one, which will cost about $2,345.56 at the station.

10. Lie-detecting glasses will enable voters to see when politicians are lying.

11. New political laws will be created to allow governments to exist without politicians.

12. Computers will be smaller than a speck of dust, and hard wired directly into our brains. We think, we blog.

13. Weblogging tools will incorporate a new feature called the “Oh Shit! I didn’t want to print that” quick erase.

14. Someone invents a penis stretcher that really works, and a pill that melts fat. Not long after, Vogue begins to feature plump, voluptuous women as the new sex symbol, and men start wearing dresses. Loose dresses.

-and finally-

15. Time travel exists. I have seen the future. I know how RSS ends. I’m not telling.

Categories
RDF Specs Technology

RSS: The neverending story

Recovered from the Wayback Machine.

Hi, Evil Twin here!

I’m not sure why, but the very mention of RSS tends to bring me out of my quiet corner, where I sit filing my nails while Burningbird does her thing. So, while she’s off cleaning house and trying to get the next episode of that RDF Poetry Finder finished, I thought I would just sneak in here, and add a new post. Just for fun.

There’s been considerable discussion about RSS for Weblogs, and RSS profiles, and XHTML in RSS and RSS and FOAF, and so on lately. In fact, if RSS were chum, you could walk on water, there are so many sharks circling about. Sam’s is a good place to track most of the discussion, so start here, then here and here.

Much good input, lots of great ideas from smart people. However, it struck me as I leisurely meandered through all of the juicier bon mots, that what the discussion needed was a little perspective.

I got to thinking about the possible impacts that could occur if the same level of energy applied to the discussions of RSS were applied to other areas of human interest such as science and the humanities. Based on this, I came up with the following, my list of things we’d be doing now, if only RSS energy was universal.

 

1. Next vacation I’d just hang about in the next neighborhood. Andromeda.

2. We would have a cure for the common cold. Unfortunately, 1 out of 20 people who take the cure die.

3. Men will finally understand why they’re from Mars and women are from Venus.

4. We’ll be using cold fusion devices to chill our cans of beer.

5. We find Schrödinger’s Cat. His name is Bob.

6. The next blogging get together will have 200,000 people attending, all teleporting in. The remaining 300,000 will just pick up the details from their minds.

7. Virtual sex would no longer be so virtual. No, I’m not giving details.

8. Our SUVs get 1000 miles to a gallon of gas.

9. New techniques can compress 1000 gallons of gas into one, which will cost about $2,345.56 at the station.

10. Lie-detecting glasses will enable voters to see when politicians are lying.

11. New political laws will be created to allow governments to exist without politicians.

12. Computers will be smaller than a speck of dust, and hard wired directly into our brains. We think, we blog.

13. Weblogging tools will incorporate a new feature called the “Oh Shit! I didn’t want to print that” quick erase.

14. Someone invents a penis stretcher that really works, and a pill that melts fat. Not long after, Vogue begins to feature plump, voluptuous women as the new sex symbol, and men start wearing dresses. Loose dresses.

-and finally-

15. Time travel exists. I have seen the future. I know how RSS ends. I’m not telling.

Categories
RDF W3C

We the monkeys

Recovered from the Wayback Machine.

Such a long time since I’ve written about technology. Feels odd – like wearing clothes from the 80’s that still fit, but you’re not sure about leaving the house with them on.

Today I hope to finish the last of the final edits for the Practical RDF book, which means no longer putting off the edits that, frankly, frustrate the hell out of me. Two years ago when I began my interest in RDF, I felt that the concept was sound but the discussion about it was obscure. I still feel that way now, hence the frustration. It also doesn’t help that this obscurity is matched with what can only be called intellectual elitism and its attendant arrogance, both of which drives away any potential audience and interest in RDF.

Apropros, Sean McGrath just wrote about RDF and the dangers of abstraction and losing one’s audience. Specifically he talks about RDF as the focus of the W3C’s Semantic Web effort, and how this is forcing ‘the masses’ into basically tuning out, losing interest in what could be a Good Thing. Bad he says:

I think it’s time for the Semantic Web proponents to stop trying to teach us all to think at their level of abstraction. We can’t (or won’t). Instead, the Semantic Web proponents should look at mapping transparently from the RSS 0.91, XFML 1.0 specifications that 94% of us are happy with, into the more abstract, generalized models that the other 6% need, for the applications they are all dying to take advantage of.

In other words, let everyone do their own XML thing and just transform the bloody mess into RDF/XML. Everyone can have their chocolate and eat it, too. Unfortunately, he uses that misbegotten, old, tired, and basically inconsequential, as well as absolutely boring RSS debate as the basis of his argument.

Sean is a wiz at transformation, and a bright light in the XML world; but he’s missed the boat with this one. The problem doesn’t lie with the specification and the W3C’s effort to promote it. The problem lies within the W3C, itself.

If you’ll forgive me a little digression, I want to talk a moment about another data model that faced stiff opposition. Years ago, a man named Codd wrote a paper proposing a new way of viewing data – the relational data model. Considering that he worked for IBM at the time, which was making considerable profit from non-relational data storage mechanisms, one would have expected that this paper, and the concept, would face stiff opposition, and it did. But the concepts Codd proposed of a standardized model and view of data that would allow one to focus on the essential of the business domain rather than the implementation of physical storage was a sound one. DARPA became interested and so did some folks at UC-Berkeley who created a system called Ingres, which formed the inspiration for the beginning commercial databases in use today. Commercial databases created by people who not only knew about technology, but knew how to sell that technology.

They succeeded. You can’t swing a dead cat without hitting a relational database in the world today.

Yet, Codd’s data model can be considered very esoteric for the average person. Very “abstract”. However, rather than abandon the abstraction necessary to ensure that data is consistent, valid, and can be merge with data from other systems, the creators of relational databases provided tools and technologies to handle most of the implementation details of relational databases, allowing company technologists to focus on their own specific business needs.

I want to build a claims system for an insurance company. Okay, I start by mapping the business domain data to the relational data model and then have the DBAs implement it. That’s my start. It saves me a great deal of time because without the relational data model and the database implementation, I first of all would have to decide what model of data I’ll use, and then figure out the most optimum implementation of that data store, and then build a prototype, test it, cross my fingers and hope it doesn’t result in invalid data – all before actually building something that actually meets the needs of the business.

The concepts underlying RDF are basically the same as those underlying the relational data model – a model for data that supports multiple business domains in such a way that the data from the domains can be merged and manipulated, consistently and efficiently. As an added bonus, both come with lots of tools that support that data management and manipulation so you don’t have to build your own.

Now, tell me: what’s so hard to understand about that?

You might be thinking that I’m supporting Sean’s assertions with my analogy comparing RDF to the relational data model and the implementors hiding most of the detail, but I’m not. One key factor in all of this is that people today design systems for the relational data model. They don’t throw the data out using their own unique variation of data store and then tell the DBA’s and programmers to map the data to the database.

In other words, a decision is made to follow the relational data model from the beginning, using whatever tools, technologies, and experts necessary to use the data model correctly. There ain’t no free ride. If you want the job done right, do it right from the beginning. Don’t give me no Excel spreadsheet and tell me to slap it into Oracle and expect the database to support 10,000 people. It don’t work that way. I know. You might need to transform the data from an old system into the new system in the beginning – but you don’t try and support both at the same time. Not and expect it to scale.

Sure you can transform RSS 2.0 to RSS 1.0 and back. But RSS is basically a brain dead business model. You have a source, the source publishes items, here are the items, in this order. Even my mama can figure this one out. Of course you can make it more complicated, which the dear hearts associated with RSS do at the spill of a latte; but the underlying business model is the same. RSS is not a good ‘example’ on which to make a stand either for or against RDF.

I agree with Sean in that the W3C shouldn’t be forcing pure RDF model theory on the masses; I disagree when he says to continue to use whatever, transform it, and just bung it in when it suits us to map to RDF. If we want to do the job right, let’s do it right, from the beginning. Which means that at some point, we’re going to have to understand how to map that data of the domain to the RDF data model. RDF must be made accessible.

Unfortunately, the W3C is its own worst enemy when it comes to promoting RDF and the Semantic Web, and understanding the concerns of just plain folks when it comes to ‘abstraction’. Why? Because there are no street smarts at the W3C.

The W3C has representatives from some of the best research labs in the world. They come from the best universities, the most prestigious R & D centers at the largest corporations, and the most influential standards organizations in the industry. In many industries.

However, few, if any of the members, have been woken up with a call in the middle of the night by the SysOp because a database system failed during a quarter systems run, and then had to try and debug the problem over the phone for a non-programmer. Or looked into the face of a customer service rep who is trying to figure out how a multi-screen application is going to make their jobs better, when before they had a simple one page form.

They’ve never been faced with a business manager who tells them to do the application using XML. Why? Doesn’t matter. This manager knows that XML is the Big Thang – therefore shut up and use it. And, oh by the way, use Python for the application, she’s heard that it’s the language to use. Why? Doesn’t matter, just shut up and use the language. Oh, by the way, here’s the specs. These two pages are specs? Sure, we’re using that new iterative approach to development. Don’t need all the requirements up front. Improvise.

And then, when you’re done creating that ultra-modern Python/XML, extreme, iterative, ultra-hip application that’s guaranteeed tested, bug free, on budget and on time, using GoF object patterns, and UML, and Rational Rose, and CVS, and what not, document it so a monkey can run the application. However, make sure the monkeys aren’t made to feel like monkeys.

Street smarts. In a more formal parlance – accountability to the using community. Somewhere along the way, the W3C has forgotten its accountability to the using community. The monkeys. Us.

Mark Pilgrim touched on this relatively recently when he said the following of XHTML 2.0 and its lack of backwards compatibility:

Standards are bullshit. XHTML is a crock. The W3C is irrelevant.

Now see – a monkey can understand this.

What’s interesting is that the W3C’s XHTML 2.0 reminds me of Oracle when it changed it’s underlying database foundation from partitions to tablespaces long ago. Sure it was the right thing to do, but it still almost caused the company to fail, the customers were that irate. You can’t just tell people to throw out their hard work because you have a ‘better’ way to do things. Not an maintain any credibility. Or customers. If you do have a ‘better’ way of doing things, its up to you to meet the community, not have the community meet you.

Two years I’ve worked with RDF in one form or another. After all this time, I still don’t understand half of what the RDF Core Working Group says in their little semantic debates. Is that a shocking thing to say since I’m writing a book on RDF? Could be. My editor is probably slapping his forehead right now as he reads this. However, when you consider that no two members of the group seem to either understand or agree with each other, either, I find myself in good company.

I’m not knocking Tim Berners-Lee and the RDF Core Working Group or the other W3C folks. They’re people who believe in what they do, have a vision, and the smarts and the drive to try and implement this vision. They genuinely love this stuff, and want to see it work. But somewhere along the way, they seem to have forgotten about us. The monkeys.

Categories
Specs

Sometimes you feel like RDF, sometimes you don’t

Semaview came out with this illustrated RDF vs XML graphic showing the ‘differences’ between RDF and XML. At least one assumes this is the purpose of a graph so titled. This might be confusing for some people that assume RDF is XML, which isn’t entirely true: RDF is a model, RDF/XML is one serialization of that model.

(Still, when you have XML on one side and RDF/XML on the other, one does wonder where the concept of ‘versus’ enters the picture.)

Based on this illustration, Leigh Dobbs asked the question:

I’m working with RDF tools now, but thats because FOAF is an RDF vocabulary. I’m just using the right tools for the job. If I was given a task to design a new system I don’t have any feel for why I might choose RDF over XML. I haven’t had that “aha” moment yet.

Personally, I doubt there will ever be an ‘aha’ moment associated with any W3C specification, but that’s beside the point.

In response to Leigh’s question, I wrote the following in his comments:

Pat Hayes actually grabbed a quote from the book and posted at the RDF WG core mail list about RDF’s usefulness:

“RDF is a technique to record statements about resources so that machines can easily pick up the statements. Not only that, but RDF is based on a domain-neutral model that allows one set of statements to be merged with another set of statements, even though the information contained in each set of statements may differ dramatically.”

XML gives us the format to record domain-neutral data, but RDF gives us the methodology to record complete domain-neutral statements — data in action as it were.

Ontologies are then domain-specific views built on top of the domain-neutral model that is RDF.

It’s all layers. Taking a cross-section:

Knowledge can be split into domain-specific views (ontology) based on complete statements (RDF) consisting of separate pieces of syntactically valid data (XML).

Since the first moment that XML appeared a few years back, the first thing I, as a data, not a markup person, looked for was a data model making use of XML. To me, XML would never be anything more than interesting data formatted in an interesting manner; without rules to help that data form some cohesive pattern outside of the rules defined for each implementation of an XML vocabulary I doubted its usefulness. Still, the bugger caught on and achieved wide-spread use.

Such waste — all that machine accessible data and absolutely no way of merging it into one data store in any meaningful way. Worse, having to create algorithms to manage each specific XML vocabulary rather than having one set for all vocabularies.

To me, all these XML vocabularies are equivalent to throwing out our relational databases and going back to proprietary data structures in each of our applications. Change jobs, learn an all-new structure. Buy a new application, and face a huge learning curve just understanding the underlying data and how it’s interrelated.

I knew when RDF came out it was the missing link between XML as bits and pieces of data, and XML as information; this though RDF wasn’t necessarily created specifically to be used as a model for XML.

(Some would say that the marriage between RDF and XML was a shotgun wedding at best. I don’t care. The cake was good and the band played on; I had a good time.)

In an effort to answer Leigh, Dorothea Salo wrote:

First. If you must end up with something XML-valid, don�t bother with RDF. Just don�t. Yes, you can restrict the RDF/XML you produce to a specific syntax form; you just can�t expect anything you receive to be similarly restricted, because RDF/XML-generating tools can�t be made to give a damn about which form they output of the many possible syntax forms of a given set of RDF/XML statements.

What Dorothea is referencing specifically is that there are different forms of XML that can be used for a specific type of RDF construct, which means that the same RDF model can be serialized in four different forms, and each would be an accurate and valid rendition of that model. True, but that doesn’t preclude that all of the XML is valid and that all of it can be restricted through DTD’s and XML Schemas, and still be valid RDF/XML.

However, Dorothea is right in that RDF is not magic pixie dust. RDF is nothing more than a way of recording domain-neutral statements in such a way that they are merged with other domain-neutral statements, each statement adding to the others in a mounting knowledge base.

When she says:

Computers only know what you tell �em. They don�t automagically know foo from bar any more than humans do. Inference only gets you so far. Sure, it might be further than we�ve been yet; I�m inclined to think so, myself. At some point, though, somebody�s got to know what the bits of the vocabularies mean, and all the inferential power in the world won�t get that across.

XML gives us the ability to record bits and pieces of data in a valid manner. RDF then builds on the data, piecing the bits and pieces together into complete statements. Ontologies then take these statements and build machine-understandable inferential rules based around them. The result of all this working together is the wine scenario:

Information from a vineyard is recorded as XML, and the names of wine are recorded as XML Schema datatype strings. The XML ensures that the names are valid, and the data is accessible with any XML compliant parser. Another format could be used, but then if someone else wanted to access the data, they’d have to build parsers that can understand the proprietary format.

The RDF model then provides the means to incorporate those names into facts, such as “Chianti is a red wine”, using a serialization technique molded on to XML:

<rdf:Description rdf:ID=”chianti”>
<wine:category rdf:datatype=
“http://www.w3.org/2001/XMLSchema#string>white</wine:category>
</rdf:Description>

We could build the model on which the facts are based directly into the XML vocabulary. But then, we’d have to make sure the model and the facts were consistent regardless of use. And since it was proprietary, other tools would also have to build in the ability to produce or consume facts based on this proprietary model.

Finally, the ontology, such as DAML+OIL and the W3C’s OWL, pieces together the separate statements and facts into domain-specific knowledge, by applying rules that allow machines to make inferences on the data, such as the fact that a cheese and nut dessert course is a part of a formal meal and is an alternative to a sweet dessert, and wines served during this course should be red:

<rdfs:Class rdf:ID=”CHEESE-NUTS-DESSERT-COURSE”>
<daml:intersectionOf rdf:parseType=”daml:collection”>
<daml:Restriction>
<daml:onProperty rdf:resource=”#FOOD”/>
<daml:hasClass rdf:resource=”#CHEESE-NUTS-DESSERT”/>
</daml:Restriction>
<rdfs:Class rdf:about=”#MEAL-COURSE”/>
</daml:intersectionOf>
<rdfs:subClassOf rdf:resource=”#DRINK-HAS-RED-COLOR-RESTRICTION”/>
</rdfs:Class>
<rdfs:Class rdf:ID=”CHEESE-NUTS-DESSERT”>
<rdfs:subClassOf rdf:resource=”#DESSERT”/>
<daml:disjointWith rdf:resource=”#SWEET-DESSERT”/>
</rdfs:Class>

This type of information can never be recorded in ‘straight’ RDF/XML because you’d have to have the ability to record the inferential rules, and RDF focuses on recording statements. Additionally, the information could never be discovered in straight XML because you have to have the ability to record not only the rules but the statements, too. You would literally have to build a model and then find a way to serialize that model in XML. Just like RDF. If you used XML, you’d have to define the ability to record facts, and then on top of that, the ability to record the necessary information to perform inferential queries — something more esoteric than “what is a white wine”.

But using XML as a data format, and using RDF as a statement/model methodology and using OWL to record the domain-specific rules, you can go to the application such as the Wine Agent, ask for recommendations for a cheese desert wine within a certain region and get the following answer:

“Pairs well with sweet red varieties. Full-bodied wines featuring strong flavors match especially well.”

The local knowledge base particularly recommends the following:

TAYLOR PORT

The recommended wines can be found below, along with some comparable selections: (with link to selection)

The frosting on this particular layer cake is that anyone associated in some way with the wine industry — producing or consuming — could use the wine ontology, based on RDF, persisted in XML for their own applications and functionality. Better yet, another industry, let’s say the chocolate industry, can use the same XML/RDF/ontology combination, and the same tools that work with each, as a way of recording their domain-specific data.

And you’ll be able to know exactly which champagne to buy to go with that dark bitter-sweet chocolate covered orange peel you bought for that special someone.