I used to think the brain was the most important organ in the body, until I realised who was telling me that.
– Emo Philips.
I’m experimenting with semantic wikis as a front end to my Excelsior spreadsheet generator. I’ll say more about this in another posting, but the point here is that some of my semantic annotations need to be relations with more than two arguments. Most semantic wiki engines don’r implement general n-ary relations: if you need them, you have to fudge up a representation using binary relations. Various means of doing so are recommended in the W3C paper Defining N-ary Relations on the Semantic Web.
Yesterday, I found a semantic wiki engine that does implement n-ary relations. It’s BOWiki, described by its authors as a collaborative editor for biomedical ontologies. According to the “About this wiki” box on that page, BOWiki is based on Semantic MediaWiki 0.4, with heavy changes to the code and database structure. These enable n-ary relations to be used in editing, displaying, and searching, without “having to introduce a relation-class containing the n-ary relations as suggested by the W3C”.
BOWiki is described in The design of a wiki-based curation system for the Ontology of Functions by Robert Hoehndorf, Kay Prüfer, Michael Backhaus, Johann Visagie, and Janet Kelso.
The word “function” in the Ontology of Functions, incidentally, is not used in its mathematical sense but in the sense that the function of the heart is to pump blood. To quote the above paper: “The Ontology of Functions (OF) is based on the assumption that functions can be specified using requirements and a goal. An entity, e.g. a gene product, plays the role specified in the function – it has the function. A biological process is, in turn, the realization of the described function”. This is nicely explained in the presentation A top-level ontology of functions and its application in the Open Biomedical Ontologies by Burek, Hoehndorf, Loebe, Visagie, Herre, and Kelso.
Going on from yesterday’s post BOWiki: Semantic MediaWiki with n-ary relations, I wonder whether anyone has implemented a semantic wiki in Prolog? Most semantic wikis restrict themselves to binary relations, I assume, because RDF does so. Prolog predicates, however, can take any number of arguments.
But I haven’t yet found any Prolog semantic wiki engines. The Semantic Web research wiki ontoworld.org has a page Semantic Wiki State Of The Art. This lists semantic wiki engines classified by implementation language. None are in Prolog.