LinkedBrainz/Software Approach

From MusicBrainz Wiki
< LinkedBrainz
Revision as of 14:13, 16 August 2010 by Kurtjx (talk | contribs)
Jump to navigationJump to search

There are several approaches to implementing LinkedBrainz in software. Broadly, these fall into two categories - modifying the MusicBrainz server code directly or using/modifying off-the-shelf software that translates the Postgres DB into RDF using RDF Views.

Modify MusicBrainz

We would modify the views (and perhaps controllers) in the codebase to serve RDF or RDFa. This would allow/force us to adopt the same pagination scheme used for the HTML and ensure no heavy load on the DB server.

kurtjx's thoughts

This approach is perhaps more in-line with the spirit of RDFa and less in-line with RDF/XML + content negotiation. We would be combining the model with the view - not really great software engineering in that sense.

Perhaps we should try some RDFa - see if the HTML bloating is acceptable - and go from there. Perhaps the way forward is some relatively quick RDFa in the HTML and then look for an RDF Views solution that doesn't kill the database server.

RDB to RDF (aka RDF Views)

RDF Views allow the translation of an RDBMS into RDF. The main advantage is that this approach could side-step all pagination. However, this is also the major disadvantage as we must find some alternative method to limit the load on the DB server.

Virtuoso

Virtuoso Open Source was used in the Zitgist mappings. See this mapping file.

D2RQ

D2RQ and the D2R server were used in the DBTune mappings. See this mapping file.