would a little DOAP help?
By bblfish on Sep 16, 2005
DOAP stands for Description Of A Project, in case you were wondering. It is an RDF vocabulary to describe a software project as its name implies. It is being used by O'Reilly's codeZoo which should attract the attention of all developers. I will first describe the ontology, and then how it is suggested it be used.
So DOAP is an OWL ontology and so would have a very simple mapping to Java . I have been looking for a tool that could convert OWL to UML quickly to help give a quick graphical overview of DOAP but could only find a windows tool that really seems to do the job well. Looking further I found the web service ocelot that is not quite there but that should help people unfamiliar to RDF browse the ontology without needing to delve into the rdf. You just need to enter the url of the ontology and you get a general overview of the relations between the classes, and list of the relations available.
A somewhat graphical view is available by clicking on any of the hyperlinks on that page. Clicking on the Repository class opens a window like this:
(Which is in fact not an image but some clever dhtml.) The above tells us that
doap:Repositoryhas a number of subclasses, such as
doap:SVNRepository, and the there are some relations that have a Repository as their domain (
doap:location) and that the relation
doap:Repositoryas its range. If we click on "repository" we get information about the
But Ocelot is not very good at giving a full overview of the ontology. That is best done by UML class diagrams. So I put one together.
This I think is much clearer. Building up this ontology I found a few odd things, such as that the module relation is placed on the Repository subclasses, instead of on the Repository itself, and that it is not placed on the SVN repository. Can Subversion repostiories not have modules? My guess is that this has been quickly put together as a proof of concept, and some further work clearly needs to be done.
Anyway. This Ontology is used by O'Reilly's codeZoo to keep track of changes to Open Source Projects. They suggest that one place one's project description in an Atom feed so as to help them keep up with changes to the project. A feed is just a way to notify search engines on the web of a change to web resources, so it is perfectly suited for this task.
When I get time I'd like to make BlogEd modular enough so that it can automatically generate forms for arbitrary ontologies found on the web, in order to make it possible for people to fill out the forms and generate the appropriate RDF.
 see some of my recent posts on the subject