LinkedBrainz/RDFa

From MusicBrainz Wiki
< LinkedBrainz
Revision as of 21:49, 2 March 2014 by JimDeLaHunt (talk | contribs) (New section "Deprecation")
Jump to navigationJump to search

RDFa is a W3C recommendation for embedding RDF data in HTML. The insertion of RDFa into MusicBrainz is part of the LinkedBrainz project and is intended to follow the NGS to RDF mappings.

Consuming RDFa

There are several ways to consume RDFa present in MusicBrainz pages.

Using the rapper command line tool is perhaps the easiest way to get a feel for the model embedded in the MusicBrainz RDFa. On Ubuntu/Debian systems you can install with

  sudo apt-get install raptor-utils

Then you can use rapper. Assuming you are familiar with the turtle RDF syntax, you can view the RDF model on a page using

  rapper -i rdfa -o turtle MUSICBRAINZ_URL

Another option is to use the web interface at check.rdfa.info. However, MusicBrainz's restrictive robots.txt is obeyed by that interface so you must copy and paste the HTML source using the direct input option. The copy-and-paste workflow is quite annoying, but no software or libraries need to be installed.

A rather comprehensive list of libraries in various programming languages for consuming RDFa at the RDFa.info wiki.


Notes about pagination

Information about entities in the MusicBrainz website are generally spread across several tabs (tabination). Long lists of results (e.g. if an artist has several hundred releases) are spread across several pages (pagination). The RDFa in MusicBrainz adheres to this same tabination/pagination scheme.

Currently, the rdfs:seeAlso predicate is used to refer to other pages in the tabination scheme and the xhv:next, xhv:prev, xhv:first, xhv:last predicates are used to deal with pagination.

Deprecation

As of March 2014, RDFa support in MusicBrainz pages is deprecated and will be removed (Our embedded RDFa will be going away in two weeks, 14 Feb 2014). The support had been brittle and poorly maintained for some time, and no new maintainer appeared (Our RDFa dilemma, 3 Sept 2013).