Difference between revisions of "LinkedBrainz/NGS to RDF mappings"
Line 86: | Line 86: | ||
While the URI for James Brown himself includes a hash suffix simply with an underscore character: |
While the URI for James Brown himself includes a hash suffix simply with an underscore character: |
||
http://musicbrainz.org/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438#_ |
http://musicbrainz.org/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438#_ |
||
+ | Now we can unambiguously make statements about James Brown and statements about the the page about James Brown. Other core entities follow this same pattern. |
||
[[Category:LinkedBrainz]] |
[[Category:LinkedBrainz]] |
Revision as of 17:29, 17 September 2010
This page is for defining the mapping of Next Generation Schema and Advanced Relationships to RDF. Much of the old content has been moved to the talk page.
NGS at a glance
The following objects exist in the Next Generation Schema. Here we make a clear distinction between core entities which have a unique MBID, entities which share an MBID with some core entity and perhaps other entities, and objects which are not associated with an MBID directly.
core entities that have mbids:
entities that share/borrow mbids:
just objects:
Mappings
The current mapping decisions for mapping NGS to RDF are summarized here. The mappings make use of the Music Ontology and other ontologies. Previous mapping proposals have been moved to the discussion page.
Core
type | NGS | RDF |
---|---|---|
core entities
with mbids | ||
'artist' | 'mo:MusicArtist' (type=1 => 'mo:SoloMusicArtist', type=2 => 'mo:MusicGroup') | |
'release' | 'mo:Release' | |
'release_group' | 'mo:SignalGroup' | |
'recording' | 'mo:Signal' | |
'label' | 'mo:Label' | |
'work' | 'mo:MusicalWork' | |
entities
with a URI (potentially) | ||
'url' | 'foaf:Document' or 'owl:sameAs' links to DBpedia etc. | |
'track' | 'mo:Track' as a blank node | |
'medium' | 'mo:Medium' and various 'mfo' concepts | |
objects
(no URI?) | ||
'tracklist' | both a 'mo:Medium' (or mfo subclass) and 'mo:Record'? | |
'artist_credit' | collapse into foaf:maker relations |
Advanced Relationships
Currently, only the some of the most basic Advanced Relationships are modeled.
- 'has a Wikipedia page at' creates 'owl:sameAs' link to corresponding DBpedia resource
- 'has BBC Music Page at' creates 'owl:sameAs' to BBC Music
URIs - Thing v Page
In the Linked Data paradigm, it is important to make a distinction between the thing and the page describing that thing. Both the thing and the page should have their own URI. Think of this simple example to understand why - you might want to say "The page about James Brown was created on this date in 1998" - if James Brown and the page about James Brown shared the same URI, we would think James Brown was created in 1998 (which is false).
To mitigate this problem we used the hash URI approach. For example the URI for the page about James Brown would be:
http://musicbrainz.org/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438
While the URI for James Brown himself includes a hash suffix simply with an underscore character:
http://musicbrainz.org/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438#_
Now we can unambiguously make statements about James Brown and statements about the the page about James Brown. Other core entities follow this same pattern.