Here are some simple notes for looking at the HP Labs semantic blogging demonstrator The blog is intended to show the use of semantic web technologies augmenting the blogging paradigm, and applied to the domain of bibliography management. For further details about the requirements for this demonstrator, see the requirements specification. We believe that the use of semantic metadata can allow a blog to be used in new and powerful ways.
We have chosen bibliography management because it shows how we can use semantic web technologies to push blogging from a communal diary browsing experience to a rich information sharing activitySpecifically, we have divided the functionality into semantic view, semantic navigation and semantic query. We have prepared a short overview of our vision and design.
This script is separated into the following sections:
Have a brief look at the blog. It looks fairly standard. (if you don't know what a blog 'should' look like, check any of the other blogs mentioned on the 'blogrolling' list.) Note however that all the entries are about scientific papers. This is because we want to show semantic blogging in a bibliographic management context.
Now, in order to enable the new functionality, we had to provide a metadata backing for the blog entries. To check out a blog entry's metadata we can use the rather wonderful BrownSauce viewer, developed by Damian Steer while working at HP Labs. The 'BrownSauce' link (example)will call out to this application and allow a further view of your blog entry's metadata. It's probably worth explaining the metadata. The majority of the metadata is fairly standard for blogs. For example, you will see 'creator', 'title', 'description' and so on. However because this is a bibliographic blog, each blog entry is (or may be) about some bibliographic item. That is what the 'contains' property points to.
A blog entry contains a bibliographic itemNote that you can click on the bibliographic item (in BrownSauce) and get some more metadata about that paper (example). You may wonder how we get that metadata into the blog in the first place. That is covered below.
It is also possible to view the metadata in 'raw' form. Check out the 'XML format' (example) and 'N3 format' (example) links at the bottom of each blog entry. These options display the RDF behind each entry (note it is the same metadata in each case, just the serialization format has changed). If you need help deciphering the output try the RDF primer or the N3 primer. Whatever option is chosen (XML, N3 or BrownSauce) this actually does is to retrieve the entry's metadata from a central RDF store which contains the metadata for the whole blog. At the bottom of the page, there is the option to view metadata for an entire category of blog entries, either separately or aggregated together. [there is a fourth option, the record card format (example), but I shall come to that later].
One of the nice things about blogs is that you can export
your metadata. Typically we will use an
RSS feed for this, the RDF version of which is
RSS1.0. If
you click on the RDF Button
at the bottom of a blog
page, you will get an RDF output (example).
This is meant to be machine readable, so it won't look very
pretty in a browser (click on 'View Source' in your preferred
browser to see the raw RDF, in XML format). However, when
given to an aggregator (there are some examples here) the
metadata can be used in various ways (typically, it is
currently used to display a summary of your site, or to
enable keyword based searching over a collection of blogs).
My RDF feed includes the bibliographic metadata mentioned
above, so a semantically enabled aggregator can provide
additional services. Some of these are described below.
RSS is generated and enriched using the RDF store
How do we create new blog entries? A click on the 'Add New Entry' link on the right hand menu leads you to our SemBlogIT! form. This form was inspired by MovableType's bookmarklets. The idea here is to say, while browsing a site 'hey, this looks interesting, let's blog it!'. So, in one click, you get an entry form populated with a title, link to the page of interest, and any text you have highlighted. You then add any other details you want, choose a category and post the entry. The posting process is password controlled. We have preserved all of this functionality but have added two interesting semantic capabilities.
Metadata is added to the blog using an ontology-driven mechanism to provide user assistance
Of course, you will not actually be able to post your entry because you do not know the username/password for this blog. But hopefully this is enough for you to see how SemBlogIT! works.
Yes, we can. Click on the 'Edit Metadata' link below any blog entry to be taken to a form (example: I call this the semedit dialog) where you can change metadata values, delete selected properties and add new (possibly freeform) RDF to the blog. Again, you will not be able to actually change any values, because this is password control but the form should give you a flavour of the possibilities. Interestingly, the semedit display is itself powered by RDF. That is, you can change the look and feel of the semedit experience by using a simple, RDF encoded configuration file, which allows different people to have their own preferred semedit dialog. (A more sophisticated configuration is employed for the semantic view component, described below).
Metadata can be edited in a schema driven way
As a parenthetical comment, semedit is designed for metadata access. It will not change the blog entry itself (that is, what gets displayed to the user on the main blog). Blog entry editing is a more conventional piece of functionality, which in blojsom is supplied by the bledit plugin.
This completes our metadata pipeline. We have seen how to put metadata in and out of our blog, and to inspect or change the metadata for any given entry. The next task is to show how we can use this metadata to enhance our blogging experience.
The first functionality we will examine is semantic view. Given that we have bibliographic items in the blog, we would like to be able to view these in a useful way. Firstly, for any entry, click on "Record Card" underneath the blog entry (example). This enables a record card like view of the metadata behind the entry. Hover over a property to discover its full (namespaced) name. Also note that the bibliographic items are described in a sort of indented record card. This enables you to distinguish between the blog entry and the bibliographic items that the entry is about. You can also view a category of entries using record card view (click on the category links at the end of the page - example).
An alternative way of viewing blog entries is a summary table (example). You can view this by selecting the 'Semantic View - table' option at the top of the display (next to the current category). This will show you a list of entries contained in this particular category, with summary information (creator, date, concept and title) for each. You may view an individual entry by clicking on its entry number (1st column in the table).
Like semedit, semantic view is metadata driven. An example of a semview preferences file (in RDF) can be found here. Importantly, you can have many semantic views for your blog - I have chosen two (record and table) but you could have different views for each user. The required view is selected at runtime through a URL parameter.
Metadata can be viewed in a schema driven, personalised way
If you click on the semantic navigation link on the demonstrator blog you will find the screen transformed to a 2 panel display. The left pane is the semantic navigation pane. There are actually 2 forms of navigation demonstrated here:
In both cases, the relevant entries are retrieved from the blog database on the basis of their metadata.
Metadata can be used to drive and to customise the user navigation experience
If you click on the Query By Entry on the demonstrator blog you will find the screen transformed to a 2 panel display. The left pane is the semantic query pane. This contains a set of fields, corresponding to blog entry metadata, The exact form of the display is schema driven, but in my case I have allowed a query by creator, subject, title, and full content. Clicking on the search button displays a list of entries that satisfy all the fields. So you might choose, for example, entries on the subject of learning which have the word "introduction" in their title. In any case, the relevant entries are retrieved from the blog database on the basis of their metadata. The results are piped into semantic view - hence, you can choose your preferred format (here, record card or table form are the alternatives).
Even better than this though, the semantic blog allows a search on the contained items. So, say you wanted to find blog entries about a certain paper (or about papers on a certain topic, or by a certain person...). You can use the Query By Item function (again, on the demonstrator blog menu) to do this. So you might choose, for example, to query for items with an author of "Lassila" or a title including "semantic". The query works exactly the same as before, except that the entries returned are those about the items of interest.
Semantic metadata can be used to provide novel and useful query interfaces
The semantic blogging demonstrator shows how we can use semantic metadata to enhance the blogging experience. It also shows how we can apply the new technology to a concrete application domain, bibliography management. However, the demonstrator is not meant to be the final word on semantic blogging, it is more a proof of concept. There are many extensions that would be possible over the existing framework. For example:
The demonstrator shows the feasibility of this approach - the applications are virtually unlimited
Steve Cayzer 2003-09-30