Lightweight Attention Preference Markup

So this is the 2nd time I'm writing this because I forgot to save the entry when I upgraded the memory on my Dell. Yep 2gig of memory instead of 1gig now but still no decent Blogging tool for Linux. Wblogger and Ecto would have automaticlly saved the entry every few minutes or at least asked me what I should do with the unsaved entry before terminating and throwing my words to a black hole. Anyway enough moaning…

Previously I promised a couple of things in this entry

First up, I'm going to standardise some way of linking FOAF, OPML, OpenID and APML together. I expect I'll keep this very simple using the link element in (x)HTML or somehow combine this into a Hcard profile. Next up a APML microformat or APML lite for sure. I'll try it as I've been studying the others and the general methology of Microformats and I think it could be done. So I'll suggest it and draw up how it works and submit it for lots of review. I'm now exploring how to get APML out of Amarok and RSS Owl.

So how far have I got so far?

One : So I have linked all three (APML, FOAF and OpenID) together using links on my blog. So if you look at the source you will now see this. Which is cool but I think we can do better.

<link rel="openid.server" href="http://www.myopenid.com/server"/>
<link rel="openid.delegate" href="http://cubicgarden.myopenid.com"/>
<link rel="meta" type="application/rdf+xml" title="FOAF" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf"/>
<link rel="meta" type="text+xml" title="APML"
href="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden"/>

When I say do better, I've been looking around a couple of things. First up is a better way to do the basic link element so it can be turned into a RDF triple later. It was found while looking at RDF/A examples which will be explained later.

When a meta or link is used within another meta or link, the internal triple has, as subject, the external triple. This is reification.

<link about="" rel="[cc:license]" href="http://creativecommons.org/licenses/by-nc-nd/2.5/">  <meta property="dc:date" content="2005-10-18" /> </link>


which yields:

[ rdf:subject <>; rdf:predicate cc:license ; rdf:object <http://creativecommons.org/licenses/by-nc-nd/2.5/> ] dc:date "2005-10-18".

Now I'm not that keen on the syntax, but its not over complex and I guess you could do something like this.

	<link about="." rel="[foaf/images/emoticons/silly.giferson]" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf">
	<meta property="apml:profile" content="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden" />
	<meta property="openid.server" content="http://www.myopenid.com/server"/>
	<meta property="openid.delegate" content="http://cubicgarden.myopenid.com"/>
	</link>


But I guess getting all those openID parsers to change now will be a nightmare, so to be honest I'm happy either way. But I think it does make sense to link everything in the HTML rather that rely on a OpenID parser to look at the HTML then find the URL for the FOAF file and then parse through that to find the Open ID url. Yes I already know you can put OpenID in FOAF thats why I'm saying its not a good idea, but there is no harm in having it in the FOAF optionally. Which is what I'm going to do, but I've recenly seen how out of date my FOAF file really is, so I'm going to try and update it soon. If anyone knows how to get FOAF out of Facebook, Flickr, Delicious, Linkedin, Dopplr, Upcoming, etc that would be useful. O'reilly's connections network use to allow for FOAF but somehwere along the line seems to have died or closed down, because I tried to find it and login, so I can at least start somewhere. So generally number one is done.

Two : So the huge challenge of building a Microformat for APML, so people can easily put in there preferences without building a very complex xml file. Because lets be honest, like RDF and other XML's this stuff was never meant to be built by humans. Also I like the idea of using standard HTML elements and attributes so people can instantly try this stuff out. I saw recently on the microformats blog that there is almost 450 million? examples of Microformats now and its growing everyday. Its not hard to see why when you consider how it is to try out some of them. For example adding a tag is as simple as adding another attribute to a link. Some of the other microformats are a little more tricky but generally with a example in front of most people they can work it out quickly. So whats the W3C's answer to Microformats? Well RDF/A which is a unified framework build around putting semantic meaning into HTML. A while ago it was meant to be for XHTML 2.0 but its been brough forward which is great news. Because the only other alternative seemed to be e-RDF which no one could work out if was royality free or not. Ok I have to admit I'm writing this entry over a couple of days. So I found my way on to the O'reilly connections network again. So you should be able to see my public view here. Anyway the point is that they already have FOAF, which makes my life slightly easier that starting from scratch again. Going back to APML, I'll try modeling it with RDF/A and see what happens. So far I think my plans is to keep the explict and implicit context and maybe attach it to a openID or unique ID. I'm not going to include stuff like the source because its too complex and not that relevent for a lightweight version of APML. I mean if you really want APML, just use APML. If you want something to indicate your preferences (< href="http://www.tommorris.org/blog/">beyond a link) in HTML, what I'm brewing up might just be right for you. I've also decided to call it LiteAPM, as in Lightweight Attention Preference Markup for now.

Three : Ok I'm not being funny but where the hell does Amarok store its configurations and database? I think I've found RSSOwl's basic configuration stuff but content i'm not so sure about yet. But then again I've not really tried really hard yet. I can't find a mention about Amarok anywhere. So I hit the web and found a way to pull almost anything I want out of Amarok via the command line. So honestly all I really need now is to learn how to program Perl or install something like XMLstarlet, and learn how to use stuff like the cron and unix pipes. Wow now I can do all that stuff I've been talking about for a long time. Stay tuned…

Comments [Comments]
Trackbacks [0]

Time to get semantic

get semantic.com

Something which I didn't mention but others have is the fight between the large S semantic web guys and the small s semantic web guys. Aka Microformats vs RDF. You can see the video here. What us RDF-ish guys were suggesting was using eRDF instead of Microformats for extended semantic markup. We proposed to give RDF in XHTML a new name, Macroformats. Tom Morris, after a chat with some of the microformats guys like Tantek and Kevin Marks, changing the name. Tom Morris has now setup getsemantic.com, which is a place where everyone writing semantic markup can get together and promote more semantic markup.

Wow, it's been an absolute mad panic of announcements. Firstly, “macroformats” is dead. It lasted all of a few days, but realism set in – assisted by some pissed off microformateers – and we ditched the name.
We've still got the domain names, but they will redirect and we aren't going to advertise them.
I'm just waiting for the Internet to catch up – specifically, DNS. Once the DNS machine has figured out what it's doing, then we can proceed to building the site.
I actually bought the licence for Snapz Pro X ($69!) because I feel that screencasts are going to be very important in what we are doing. Screencasts certainly helped with things like the Ruby on Rails project.
The plan is to help people understand the process of coming up with their own formats – which can be as simple as writing up a bunch of class names or as complex as coming up with a 3,000 item ontology. Of course, if they only want to do the first one, there'll be people who know how to do all the other steps and will do it for them.
I've sent out a sort of 'vision' statement to the people on the list, but I won't bore you with it here – my blog isn't the best place for it, after all. Once the site launches, something very much like it will be up there.
The first GetSemantic project I'm going to be pushing for is Embedded BibTeX. I use BibTeX a lot. The “citation” work at microformats.org is suffering because there's no clear cowpath to be paved. But we have a BibTeX ontology written in DAML+OIL and it wouldn't be too hard to use eRDF to turn that in to HTML. I'm already writing academic essays in XHTML with CSS and having the tools to embed and extract those citations would rule.
The other thing that I might do is “hRSS”. hAtom is a great format, but not all web sites can be turned in to Atom – RSS 2.0 serves sites like mine better. I'll follow hAtom as closely as possible, but then move away when the RSS 2.0 specification differs from the Atom specification. Before I get flames, there are good reasons to choose RSS 2.0 if you have untitled blog entries. And, yes, there are good reasons for that too. You may not like the reasons, but they exist.
One of the key differences between GetSemantic and the more formalised microformats is that we're going to say “yes” more often. Think of them as science experiments – have fun, build something, see whether it works. We'll start herding cows down new paths and then if that works, then it might become a microformat. If it doesn't work, then we will learn why it doesn't work and try not to make that mistake in the future.

Anyway, I've graphed out where we're coming from, because its easy to think we're suggesting Microformats are crap. Well thats not what we're saying. We all love Microformats but sometimes we find them a little limiting. The example I always use is XFN vs FOAF. XFN has a limited amount of relationships, while FOAF has tons. Because you can put FOAF in eRDF, this means eRDF is more extensible. But on the other side, this all adds to the complexity and the amount of people who actually want to do this drops a lot.

Semantic markup graph

Thanks to Sheila who forced me to draw this out a while ago, when trying to explain how eRDF, RDF, XML, etc all fit in the grander scope of things. I'm considering updating it with one including XHTML 2.0 and RDF/A. Oh great work Tom.

Comments [Comments]
Trackbacks [0]