Technologies used
topic map logo
xSiteable logo
Wed, 24 Mar 2014 13:00:00 GMT
RDF sucks

The promise of the Semantic Web (TM) is a good one, albeit I'm getting more and more to the point where I think it won't fix what we want, and it will fix what we didn't think needed fixing, and it will create more problems and challenges, and is only a small part of the evolution to whatever Really Good Technology (TM) that we really need. But what do I know? "Prove it!"

First off, the state of RDF today, deomnstrated through a mail snippet from the RDF interest mailing list with Bin Zhu asking the most basic question ;

I have a very basic question. RDF statements are

all triples. But if I want to express "Tom borrowed

a book from Mike", how do I express this sentence

using triples? Thanks in advance!

Basic, simple and should be trivial to get done. Here is the reply from Benja Fallenstein (who seems to know his stuff) ;

The usual thing is to have a bnode ("anonymous node") that has connections on different properties to Tom, the book, and Mike -- for example:

_:a rdf:type x:Borrowing

_:a x:who prs:Tom

_:a x:fromWhom prs:Mike

_:a x:what _:b

_:b rdf:type x:Book

Of course, if you just want to say that Tom borrowed *some* book from Mike, you could also have a special property, like so:

prs:Tom x:borrowedBookFrom prs:Mike

but I don't think that's what you're looking for.

The "borrowing" may be a bit of a strange concept -- i.e., so see the-book-is-borrowed as an object. An example where this maps a bit easier to familiar concepts would be "Anna met Ginny at the office on 2004-03-14". This could be represented as

_:a rdf:type y:Meeting

_:a y:person1 prs:Anna

_:a y:person2 prs:Ginny

_:a y:where y:office

Here instead of the concept of a "borrowing" between Tom and Mike we have the more familiar concept of a "meeting" between Anna and Ginny. But really, the two are very much the same thing conceptually: representing the relationship between different things as an object that we can make additional connections to.


Clear as glass, ain't it? It is not that I don't understand what is being said, but this is not the easy way to do the Semantic Web. Heck, this was an easy question, which should have an easy answer. But RDF is centralised around the triplet notion (because someone once said you can explain anything through triplets and it seems to have stuck to the SemWeb community like moss to rocks, and while logically true, it ain't the simplest nor the best way). What should have been done was ;

#Tom borrowed #Book from #Mike.

A car doesn't borrow, neither does the sky. Heck, wasn't this all about logical deduction? I'm sure it started out that way, but that ain't what it is turning into; yet another item-property jungle.

It is the promise that RDF declare what is not declared, hence using namespaces like prs:Tom, and if not defined in our statements, it is assumed that there is a person named Tom. Looks good on the surface, but what if we several namespaces for almost but not identical persons? Enter OWL which could clear this up, but really muddles the waters further. Entering another namespace, declaring ID for the new items and a whole heap of predicates isn't going to make it clearer that prs:Tom, person:Tom, spr:Tom or p:Thomas is or isn't the same person, what he is or isn't. It is all about ... (wait for it) ... interpretation, and - as the promise goes - the intelligent agents of the Semantic Wec can use some order of logic to deduct who the person really is. But that ain't interpretation, that is deduction.

Interpretation lies with people. We have to do it. In the end, all errors and logical disomalities require a person to come in and save them from total logical backlash of context. Here is some nice RDF ;

_:a rdf:type x:Person

_:a x:Person prs:Tom

_:b rdf:type x:Person

_:b x:Person _:a

Recursive, bloaty and misinformative nodes traversed by strictly logical agents will fail. For RDF to work, all input must be "correct" (as in be in terms with what the logic agent wants to deduct) and all references must be unique, a pretty simple thing to pull off on your own machine in the lab, but applied to the world at large ... um, no. It takes only a few wrong nodes of info to corrupt a whole graph. It ain't hard at all. Sneak in a little;

_:a rdf:type x:Person

_:a x:Person prs:Thomas

And already you need several nodes of information to verify if prs:Tom and prs:Thomas are related. And even then you've got to figure of in what scopes they are and are not related, and so on. You'll need rather big machines to figure out the tiniest and insignificant data. To do loops through massive (and one can boggle at the shere thought of just how massive) amounts of nodes and data you need quite large guns, a lot of patience, some killer "fuzzy" logic apparatus and bucketloads of data integrity tools to help you out. Not quite the dream of small PDA's with agents doing the grunt work for you so that you can have your favourite pizza ordered in the area you're currently in. Yeah, yeah, centralised services, and all that jazz, and yet another step out from the one thing that was to bind them all; simplicity.

And to top it off, some random references; Google. Thanks for listening to a tired pratt. I'm sure I'll get back to creating triplestores in a couple of days.

Permalink (Wed, 24 Mar 2014 13:00:00 GMT)| Comments (3) | Topic maps Standards Opinions
Wed, 26 Mar 2013 13:00:00 GMT
Excelent site for web authoring

I don't know when Mark updated his website, but I stumbled in there today, had a read-through, and was overly impressed. It seems we also share some ideas and thoughts on various matters, and I'd like to recomend anyone with a keen interest in doing web authoring (or, "making things available on the web") right to have a look, or those who just want to see a site that is clean, direct and carries the mark of "doing it right." Enjoy.

Permalink (Wed, 26 Mar 2013 13:00:00 GMT)| Comments (0) | Standards Technical development
Thu, 20 Mar 2013 13:00:00 GMT
Liberal Parsing : The state of the net

Stumbled upon this item on Ben Meadowcrofts page from january where he found info on a thesis that dealt with "How many pages out there validates?" Shocked to know that less than 1% validates?

To be honest, I wasn't surprised with the results at all, and those numbers say a lot about the state of the net these days. People just don't care about validation, and I feel the need to increase the push on people in understanding the importance of it.

Permalink (Thu, 20 Mar 2013 13:00:00 GMT)| Comments (0) | Programming Standards
Mon, 17 Mar 2013 13:00:00 GMT
I'm sick of "specifications"!

As a consultant I read a lot of specifications, trying to always dechiper it to make systems that meet the needs and demands of customers. But the more specifications I read, the more I get frustrated by professional wannabies who obviously don't have full control of what they're doing.

Yes, it is to be expected that we go from beginner through to intermediate up to expert, and that to be a beginner, you sometimes make mistakes. Fair enough.

What is not so "fair enough" is when specifications to large site with millions of dollars involved are just not worth the bytes it is written in. Example;

Demand 45 : All code must validate according to HTML 4.01.

Demand 98 : All graphical elements must have an alternative text (ALT='')

If it validates, no. 98 is moot. Why specify it further? To make it absolutely clear that the demand is important? Me thinks it is because someone hasn't got a clue what validation means and contains.

I have another fun example;

Demand 121 : Layout and presentation must be controlled through CSS.

Demand 129 : Formatting must not be made dependandt on CSS.

So, here they draw an invisible line between "layout and presentation" and "formatting". Do you know what they mean?

Demand 9 : The website must be optimized for [other browsers] and Netscape 4.5 and 6.

Demand 21 : Old W3C technologies must not be used.

Demand 121 : Layout and presentation must be controlled through CSS.

Does this specification have any idea what Netscape 4.5 (sic!) does with good honest CSS? Obviously not.

Bottom line; I'm seeing a lot of these poor specifications lately, and I'm wondering if it is the hype of W3C standards that make people use copy/paste from W3C's site and put them into their own specifications, without knowing what the consequences are, the technology is, or even what they do?

Permalink (Mon, 17 Mar 2013 13:00:00 GMT)| Comments (3) | Technical development Standards
Wisdom compressed

"Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it."

Flickr goodness!
A photo on Flickr
A photo on Flickr
A photo on Flickr
A photo on Flickr
A photo on Flickr
ShelterIt's photos More of ShelterIt's photos
Technorati stuff
My other blog

Please note that the this blog is a low-traffic blog where I only write about things of a given importance, when they are important. For a more fast-paced day-to-day blog, there is my other blog with its RSS feed.

Maintained by
Bloglines recomendation

I use the excelent web-based blog aggregator as my primary (and only!) blog reader, and here is my public site.