Discussion about mime types: changing RSS 1.0 mime type and other considerations

Recently I serialized the SIOC and FOAF RDF documents generated by Talk Digger using N3. I also enabled Ping the Semantic Web to detecting and archiving pings of RDF documents serialized using N3.

These two modifications to these systems make me thinking about some things:

 

  • Why I wasn’t using the “application/rdf+xml” mime type to describe the RSS 1.0 web feeds generated by Talk Digger?
  • Why I was not serializing the RSS 1.0 RDF documents using N3 too?
  • Why the mime type for the N3 serialization is “text/rdf+n3” instead of “application/rdf+n3”?

 

Why not using the “application/rdf+xml” mime type to describe the RSS 1.0 web feeds?

To try to answer to this question I had to re-read the RSS 1.0 specification last modified the 30 May 2001. I can read from the “section 5: Core Syntax” of the document:

Mime Type
The current mime-type recommendation for an RSS 1.0 document is application/xml. However, work is currently being done to register a mime-type for RDF (and possibly RSS). The RDF (or preferably RSS) mime-type should be used once it has been registered.

Then I was thinking: the application/rdf+xml mime type has been accepted in September 2004 by the IANA.

So I propose to change the specification accordingly to this fact. RSS 1.0 files are RDF documents, so we should reflect that fact in the specification by using the good mime type.

Also, if other developers, like me, use the application/xml type instead of the application/rdf+xml, web services like Ping the Semantic Web will only ignore these precious pieces document.

 

Why not serializing the RSS 1.0 RDF documents using N3 too?

It is a good question that I don’t know the answer right now.

It is because it is because N3 is unsuitable for RSS 1.0? Is it because N3 is not enough popular among developers? Is it because the RSS 1.0 specification is too old?
Personally I think that RSS 1.0 could benefit by adding a reference to the possibility to serialize RSS 1.0 documents using N3 and not only XML.

So I would propose to add the fact that people could have the possibility serialize RSS 1.0 documents using N3 with the mime type “text/rdf+n3” (even if I would certainly prefer “application/rdf+n3” but I will come back to this issue with the next question).

 

Why the mime type for the N3 serialization is “text/rdf+n3” instead of “application/rdf+n3”?

I checked the Notation 3 design issue document to answer to that question. The reason is:

The type application/n3 was applied for at one point (2002?) but I have no trace of any correspondence. It should not be used, as part of the point of N3 is to be human readable, and so the text tree is indicated. The application for text/rdf+n3 with the IANA registry is pending as of 2006-02 as IANA #5004. While registration is pending, applications should use the proposed type in anticipation of registration, not an x- type.

In the Notation 3 Primer document I can read:

The world of the semantic web, as based on RDF, is really simple at the base. This article shows you how to get started. It uses a simplified teaching language — Notation 3 or N3 — which is basically equivalent to RDF in its XML syntax, but easier to scribble when getting started.

If this notation is simpler for teaching purposes, this notation is probably also simpler for development purposes too (at least I found so). For that later fact, I think it would be important to consider it when we think about mime types.

In fact, it seems that the N3 document have been designed for teaching purposes because it is simpler to express RDF relations using N3 than XML. I agree.

However, I think that the semantic web community will benefit from that fact not for teaching, but for developing purposes (so spreading the use of RDF as a way to describe resources).

But I see a paradox in the use of “text/rdf+n3” mime type instead of “application/rdf+n3”. The reason is that “N3 is to be human readable”. If we extend that reasoning, we could certainly say that XML is to be human readable too (at least I am able to read and understand some).

My question is: are RDF documents at the intention of the human or the machine? I always saw RDF documents as a document at the intention of machines. In that case, for me, both serializations are at the intention of the machine, and not really at the intention of human. In fact, I think that the question we have to ask is “Who will consume that document?” instead of “Is the document human readable?” So yeah the content is human readable but it is to be used by machines.

If one agrees with that fact, we should certainly think about using the “application/rdf+n3” mime type instead of “text/rdf+n3”, no? After all, are mime types at the intention of humans or machines?

 

Conclusion

Finally I suggest updating the RSS 1.0 spec with the “application/rdf+xml” mime type and I suggest adding a reference to the possibility to use N3 to serialize RDF 1.0 RDF documents. Also I (re?)-open the discussion about the use of “text/rdf+n3” mime type (instead of application/rdf+n3).

Please tell me if I missed something while thinking about these things, if there are considerations that I am not aware of, or anything else.

 

Technorati: | | | | | | | | | |

Show your relations with other web sites directly on your Blog using Talk Digger and Grazr

 

 

What about showing the relationship your blog, or web page, has with other websites? Why not using the power of Talk Digger and the beauty of Grazr to let your readers discovering people that talks about you, and the people you are talking about?

This is what Talk Digger and Grazr are proposing you to do.

 

What is Grazr?

Grazr is a OPML and RSS outliner: it lets you browse these type of file in a simple and beautiful user interface directly from a web site.

 


 

You have three view modes: slider, outliner and three panes. It is simple, fast and it integrates beautifully in any blog or web page.

 

What are Talk Digger relations?

Talk Digger not only tracks conversations evolving on the Web. No, it also explicit relations between conversations (so relations between web pages).

Three type of relations are make explicit by Talk Digger:

  1. Web pages that are talking about the current Web page.
  2. Web pages, from the same domain name, that are talking about the current Web page.
  3. Web pages that the current Web page is referring to.

 

Talk Digger and Grazr

If you put Talk Digger and Grazr together, you will be able to browse effortlessly Web sites by their relationship.

 

Why adding Talk Digger’s Grazr widget on your blog or Web site?

Blog readers like reading blogs not only because they like what the blog author writes, but also because they can discover new things of interests and new people by the links created by the author.

This is why putting Talk Digger’s Grazr widget on your blog is really interesting: it helps your blog readers to discover who links to your blog, and to whom you are linking to. In both cases, these links are of interest to your readers and it will helps them to discover new and interesting things on the Web.

What is also important in the Digital World is your online reputation and trust people have in you. Their readers can trust people if they write with their real name, if they put their photo, if they write about them in a personal way, if they write about their job, etc. But the online reputation also grows when other people start to talk about you, when they start to link to your personal web site. Showing these relations between you (your blog or personal web site) can help you to create your online persona and increase your online reputation and the trust people have in you.

 

How to get your Talk Digger – Grazr widget for your blog?

It is simple. You only have to go to the Talk Digger – Grazr widget generator page.

From that web page, you only have to:

  1. Put the URL of your blog or web page in that box: “To create your own TalkDigger Grazr enter your site URL here:” and then pressing the “update” button.
  2. Going to step #2 and customizing the look-and-feel of the widget.
  3. Finalizing with the step #3 and putting the generated code in your blog or web page.

 

Technorati: | | | | | | | | | | | |

Talk Digger now serialize its SIOC and FOAF RDF documents using N3

 

   

A couple of weeks ago I make Ping the Semantic Web detecting and indexing RDF documents serialized using N3. Now I took a part of yesterday to serialize Talk Digger’s content using N3 as well.

So Talk Digger now export most of the relations it knows in RDF using 10 ontologies: SIOC, FOAF, GEO, BIO, DC, CONTENT, DCTERMS, DC, ADMIN, RSS and serialized with two languages: XML and N3.

Check at the bottom of each conversation page, or user page, and you will see SIOC and FOAF RDF documents serialized in both XML and N3.

   

I started to play with N3 serialization when I implemented it in Ping the Semantic Web. At first I was telling me: why another serialization method, why confusing users and developers with yet another way to write things?

Then I found my answer: N3 is basically a simplified teaching language used to express RDF documents (so, to serialize) developed by Sir Tim Berners-Lee. Once you get the basis of the language, you can easily read and write RDF documents in an elegant way. The parsing of N3 documents is much easier than its counter part (XML).

This serialization language gain to get know and its adoption would certainly encourage the usage of RDF by the fact that developers could concentrate their efforts on the RDF documents instead of the way they are serialized (there are so many ways to serialize something in RDF using XML; sometime I wonder if it is bounded and boundless…).

 

There are some links to getting started with N3:

Primer: Getting into RDF & Semantic Web using N3
Notation 3: An readable language for data on the Web
Turtle – Terse RDF Triple Language

Technorati: | | | | | | | | | | |