adrigrillo / music_kg Goto Github PK
View Code? Open in Web Editor NEWMusic specific knowledge graph using MusicBrainz database
Music specific knowledge graph using MusicBrainz database
To generate the linking between the create Knowledge Graph, DBpedia and Wikidata one of the two next available tools will be used:
The objective is to add more information to the knowledge graph using as sources Wikidata and DBpedia. This issue comprehends the following tasks:
Issue to discuss the mapping of the area in the graph. Is a sub-issue of #1.
area
area_alias
: are used to store alternate names or misspellings.iso_3166_1
: contains the code of the countries. Can be useful for interlinking.The most important division contained in the database are the countries that are also related with the table iso_3166_1
. An entity then should be country that will be the parent of the area, this is, country will be the root of the area entities and the rest will have it as an origin.
The other types of areas that exist in the database are:
These type of areas form a hierarchical relation where: country -> subdivision ->county -> municipality -> city -> district -> island
and their relation is present in in the l_area_area
table. The relation between this entities will be firstly mapped with the smaller type indicating that is part of a bigger enity with the term dcterms:isPartOf
.
To generate the Knowledge Graph the MusicBrainz database is used together with the Music Ontology as dictionary. This task will use as reference the MusicBrainz-R2RML repo.
Issue to discuss the mapping of the genres in the graph. Is a sub-issue of #1.
The MusicBrainz database has hard-coded the genres in the server-side of the application, providing a list of them here inside the object tag
. With respect to the database, they are contained in the table tag
mixed with annotations the users had made. Therefore is impossible to generate a graph with the table as it will include elements that are not genres.
On the other hand, DBpedia contains a list of 1250 musical genres that can be queried with the following SPARQL statement:
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct *
where {
?genre a dbo:Genre .
}
However it is possible that the genres of the database does not map 1:1 to the DBpedia genres list.
This is a sub-issue of #2 that handles the linking of the genres.
The number of instances for genres for the different knowledge graphs are:
As it can be seen, the number of genres available in the other sources is much larger than the ones established in MusicBrainz. However, this could mean that the genres included in the created graph are quite general and that it could be a great number of matches in with the other two graphs.
Issue to discuss the mapping of the genres in the graph. Is a sub-issue of #1.
The artist part of the graph is the most complex of the three because it contains different categories of artist that are interrelated, for example, an artist can have an entry and then be a member of different groups. By the definition of an artist in the Music Ontology is the band or group the entity that has to reference to the artist that form part of the band.
Moreover, the Music Ontology does not contains terms or properties related with the location of the artist, so other vocabulary will have to be used.
artist
l_artist_artist
artist_type
As it has been explained #4 the set of music genres are inside the artist_tag
table without any kind of distinction, therefore some processing have to be done.
In general, the idea to connect the artist with the established genres follows a similar process as the one made for the aliases of artist and areas but implying some post-processing to remove the user-made tags. The steps to follow will be:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.