Internet

Converting BibTeX to RSS feeds: bib2rss.pl

Posted in Internet, RDF on November 6th, 2007 by hoekstraBe the first to comment

Yesterday I was playing around with Peter Mika’s BuRST to create an RSS 1.0 feed of the publications of the Leibniz Center. We already use bibtex2html to generate a weekly update of our publications page.
BuRST services are used, amongst others, by the openacademia.org project to generate RSS feeds of the documents in their RDF triple store. See also Ivan Herman’s blog post on this subject.

However, the RSS generated by BuRST is targeted at RDF-aware clients, and does not contain the Dublin Core metadata used by RSS viewers such as Thunderbird, Google Reader, Yahoo Pipes or Mail (Leopard) to show human readable information.

The BuRST service at openacademia.org uses a BibTex to RDF perl script by Michel Klein to generate a SWRC compliant RDF description of bibliographies stored using the BibTeX format. I have modified his script in such a way that it can now generate simple lightweight RSS representations of BibTeX files.

Voila: bib2rss.pl

You can download it, and use it at your choosing (Michel has GPL-ed the original).

Some examples:

Publications of the Leibniz Center, as RSS 1.0 feed
http://draco.leibnizcenter.org/cgi-bin/bib2rss.pl?url=http://svn.leibnizcenter.org/svn/LeibnizBib/trunk/leibniz.bib

Publications of the Leibniz Center, as RSS 1.0 feed with title and description
http://draco.leibnizcenter.org/cgi-bin/bib2rss.pl?url=http://svn.leibnizcenter.org/svn/LeibnizBib/trunk/leibniz.bib&title=LeibnizPubs&description=Publications%20of%20the%20Leibniz%20Center

Some issues:

  • How to determine the dc:date of a publication RSS-item? Currently: all publications are dated on the first of January of every year. Dates in RSS are an issue anyway.
  • Some RSS readers (Mail, Yahoo Pipes) do not show the dc:creator of RSS 1.0 items
  • Apple Mail seems to disregard any dc:date in 2001 (weird!)
  • bib2rss.pl depends on the Text::BibTeX module of the btOOL library.

SemanticWeb Nuts ‘n Bolts

Posted in Internet, OWL, Ontology on November 2nd, 2007 by hoekstraBe the first to comment

Yesterday I gave a presentation at our monthly department meeting about the nuts ‘n bolts of the SemanticWeb. This was to give them a taste of its coolness.

If you’re interested, here it is: semweb-nuts-bolts.pdf

ESWC 2007

Posted in Internet, OWL on June 12th, 2007 by hoekstraBe the first to comment

Just posted some ESWC notes on the LeibnizWiki at http://wiki.leibnizcenter.org/index.php/ESWC_2007

There’s no semantic annotation, not even tags… well, that’s not very Web 3.14159 of me…

I have a whole bunch of written notes of OWLED 2007 as well, and hope to share them with the ‘outer world’ soon (or just Google would be fine as well… )

Cocoon-based XSLT RDF(S) UML XML MetaLex PIP Browser Demo

Posted in Internet, OWL, Ontology on May 1st, 2007 by hoekstraBe the first to comment

We’ve been busy migrating away from our old AMD XP 1500+ servers to really cool Core Duo systems for some time now already. After (finally) managing to install Cocoon/Tomcat5, we are now ready to migrate the last website, i.e. http://www.metalex.eu.

Rummaging with Cocoon reminded me of a small side-track of the EPOWER project, some years ago. This project introduced formal representation of regulations in UML/OCL, both for the Dutch Tax and Customs Administration (IB2001) and for Fortis Insurance. During this time, we at the UvA were busy developing the MetaLex XML standard, and we were strong proponents of using OWL/RDF(S) instead of UML (in those days MOF did not exist yet).

To showcase the strength of the combination MetaLex/RDF, I put together a small demo which uses XSLT transformations to show how both texts and concepts can be browsed in conjunction: the PIP browser. In a nutshell, XSLT is used to convert a UML model to RDF (sloppy translation), merge this RDF with the corresponding MetaLex file, and display both as HTML. Admittedly, it’s not very intuitive… but hey, it’s a demo!

Click on the thumbnail below for a screenshot of the browser. In the top frame, you select the SubPart to which the Class refers. This will then be highlighted in the bottom frame, using the correct language version.
PIP Browser window

See http://draco.leibnizcenter.org:8180/cocoon/pip/

Testing Qumana

Posted in Internet on April 4th, 2007 by hoekstraBe the first to comment

Just testing Qumana as a blog-post editor. Obviously the functionality provided by off-line editors like this (or BlogDesk, or even Windows Live Writer) is really useful for less proficient bloggers (and there certainly are too many around, I mean… I could name a few, well… a many… and I’m *not* depressed, really…)

ExtractMyDMS: Extracting files from eGroupware MyDMS

Posted in Internet on March 9th, 2007 by hoekstra4 Comments

I have been using eGroupware and its MyDMS plugin for a couple of months now to share files between multiple users. Although the functionality is ok, the interface is horrible and we have been thinking of moving to Relay (which looks extremely cool, but has limited functionality… I’m waiting for OpenLDAP support).

Problem is, MyDMS stores its files under an unintelligible name at an even more unintelligible location. So, how to get these files back?

I decided to write a quick PHP script, which extracts the files with a name and location that reflects the location as MyDMS presents it to the user. This is very basic export functionality as it does not copy comments, ownership or older versions of files.
The script can be downloaded here.

Simply copy the config.inc.php.example file to config.inc.php and make proper adjustments for your eGroupware/MyDMS setup. You can run the script using ‘php extractmydms.php’.

Jurix 2006 Paris

Posted in Internet on October 25th, 2006 by hoekstraBe the first to comment

Well, that’s just what it is: it’s Jurix, the european AI&Law conference, and it’s in Paris!

Have a look at http://www.jurix2006.org

(for some reasons the menu-titles do not come up on my machine… but hey, you can’t have everything)

Ontology versions: just a thought… (and a script)

Posted in Internet, OWL, Ontology, subversion on August 10th, 2006 by hoekstra1 Comment

I actively use the Subversion version management system for all my projects. I use it while writing papers (in LaTeX), e.g. to merge different versions (of co-authors) with a main file, I use it for my Java projects, but I use it for my OWL ontologies as well.

A couple of weeks ago I found out that the TortoiseSVN Subversion client GUI for Windows is able to use Microsoft Word for performing diffs and merges on Word documents. While composing today’s post on the OWL Tools of Denny Vrandecic, something went ‘click’: why not use his diff and merge algorithms for resolving conflincts between different versions of an ontology stored using Subversion?
The SVN book says the following:

Subversion uses its internal diff engine, which produces unified diff format, by default. If you want diff output in a different format, specify an external diff program using --diff-cmd and pass any flags you’d like to it using the --extensions switch. For example, to see local differences in file foo.c in context output format while ignoring whitespace changes, you might run svn diff --diff-cmd /usr/bin/diff --extensions '-bc' foo.c.

Rewriting this to OWL Tool format results in something like:

svn diff --diff-cmd '../owltools/owl diff' lricore.owl

However, subversion calls the diff program as if it were GNU diff, and Denny’s diff does not understand the standard GNU diff commandline options. We therefore need to write a diff wrapper (see the manual):

#!/bin/sh

# Configure your favorite OWL Tools diff program here.
# That's Denny's! (his 'owl' script assumes that kaon2.jar and
# owltools.jar are in the path)
DIFF="owl diff "

# Subversion provides the paths we need as the sixth and seventh
# parameters.
LEFT=${6}
RIGHT=${7}

# Call the diff command.
$DIFF $LEFT $RIGHT

# Return an errorcode of 0 if no differences were detected,
# 1 if some were.
# Any other errorcode will be treated as fatal.

Caveat: So far so good… were it not for the last two lines. The OWL tools diff always returns 1: if differences are found, it generates an owl file containing the differences, and if no differences are found, it generates an owl file with headers, but no triples.

Ah well… this works fine for me. I’ll use the standard diff for checking whether anything has changed, and the OWL Tools diff to see what has changed. If the above script is saved as ‘owldiff’, we can now use it to find the differences between my working copy of LRI-Core and the one stored in my subversion repository:

svn diff --diff-cmd owldiff lricore.owl

Remember this is just as powerful as svn diff itself: we can also use it to compare different revisions. And when a difference is found, we can use Denny’s merge, or the Prompt Tab of Protege-OWL to merge the differences into an ontology of our choice! (you can tell I’m happy now)

You can download the script (and a batch file for Win32) here: owldiff.zip

Visor

Posted in Internet, What other people think on August 1st, 2006 by hoekstraBe the first to comment

Visor allows you to open a drop-down terminal window overlay thingy from any application (on a Mac, that is).

Why would I post this link here? Ah well, maybe because it’s cool… and perhaps because I am a little afraid I will forget to use it.

Epic: 2014

Posted in Internet on May 1st, 2005 by hoekstraBe the first to comment

Ever wondered what would happen if Google and Amazon merged?

http://epic.chalksidewalk.com/