Exploring DOREMUS data


In [69]:
import requests
import pandas as pd
import json
from datetime import datetime

import SPARQLWrapper
import recordlinkage
from jinja2 import Template

import pandas as pd
pd.set_option('display.max_colwidth', -1)

In [3]:
%run startup.ipy


Last notebook update: 2018-07-09
Git repo: git@bitbucket.org:loujine/musicbrainz-dataviz.git
Importing libs
Defining database parameters

Defining *sql* helper function
Last database update: 2018-06-02

Python packages versions:
numpy       1.14.5
requests    2.19.1
pandas      0.23.3
json        2.0.9
SPARQLWrapper  1.8.2
recordlinkage  0.11.2
pandas      0.23.3
sqlalchemy  1.2.9
CPython 3.7.0b5
IPython 6.4.0

In [4]:
# https://lawlesst.github.io/notebook/sparql-dataframe.html
def get_sparql_dataframe(endpoint, query):
    """
    Helper function to convert SPARQL results into a Pandas data frame.
    """
    sparql = SPARQLWrapper.SPARQLWrapper(endpoint)
    sparql.setQuery(query)
    sparql.setReturnFormat(SPARQLWrapper.JSON)
    result = sparql.query()

    processed_results = json.load(result.response)
    cols = processed_results['head']['vars']

    out = []
    for row in processed_results['results']['bindings']:
        item = []
        for c in cols:
            item.append(row.get(c, {}).get('value'))
        out.append(item)

    return pd.DataFrame(out, columns=cols)

Endpoint


In [5]:
doremus = 'http://data.doremus.org/sparql'

In [7]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT DISTINCT ?expression SAMPLE(?title) as ?title
WHERE {
  ?expression a efrbroo:F22_Self-Contained_Expression ;
          rdfs:label ?title .
  ?expCreation efrbroo:R17_created ?expression ;
          ecrm:P9_consists_of / ecrm:P14_carried_out_by ?composer .
  ?composer foaf:name "Wolfgang Amadeus Mozart"
} ORDER BY ?title
""").head()


Out[7]:
expression title
0 http://data.doremus.org/expression/9490156a-a2... Duo
1 http://data.doremus.org/expression/a99cb629-0c... Duo
2 http://data.doremus.org/expression/1f1b23e6-53... Quatuor
3 http://data.doremus.org/expression/26591bd9-57... Fuge
4 http://data.doremus.org/expression/25dc62f4-86... Kyrie

In [6]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT DISTINCT ?composer ?pred ?value
WHERE {
    ?composer foaf:name "Ludwig van Beethoven" .
    ?composer ?pred ?value
}
LIMIT 10
""").head()


Out[6]:
composer pred value
0 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://erlangen-crm.org/current/E21_Person
1 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#label Ludwig van Beethoven
2 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Figura cruciale della musica colta occidentale...
3 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (/ˈlʊdvɪɡ væn ˈbeɪˌtoʊvən...
4 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (Bonn, 16 de diciembre de...
5 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (Bonn, 16 december 1770 –...
6 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (Bonn, batizado em 17 de ...
7 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (getauft 17. Dezember 177...
8 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (prononcé en allemand : [...
9 http://data.doremus.org/artist/6963af5e-b126-3... http://www.w3.org/2000/01/rdf-schema#comment Ludwig van Beethoven (wymowa niemiecka: luːtvɪ...

Explore composer


In [8]:
get_sparql_dataframe(endpoint=doremus, query="""
      SELECT DISTINCT ?artist SAMPLE(?name) as ?name
      WHERE {
          [] mus:U31_had_function <http://data.doremus.org/vocabulary/function/composer> ;
              ecrm:P14_carried_out_by ?artist .
          ?artist foaf:name ?name
      }
      LIMIT 10
""").head()


Out[8]:
artist name
0 http://data.doremus.org/artist/73411e1c-5098-3... Gaspard Corrette
1 http://data.doremus.org/artist/aeec443f-ff02-3... Giulio Abondante
2 http://data.doremus.org/artist/cbeb372d-91b6-3... Servaas de Konink
3 http://data.doremus.org/artist/6c4a3cc6-098e-3... Vicente Asencio
4 http://data.doremus.org/artist/6319c8b2-f85e-3... Eden Ahbez

In [9]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT DISTINCT ?composer ?viafurl ?mburl ?wdurl ?dburl
WHERE {
    ?composer foaf:name "Ludwig van Beethoven" .
    OPTIONAL {
    ?composer owl:sameAs ?viafurl FILTER (regex (?viafurl, "viaf.org")) .
    }
    OPTIONAL {
    ?composer owl:sameAs ?mburl FILTER (regex (?mburl, "musicbrainz.org")) .
    }
    OPTIONAL {
    ?composer owl:sameAs ?wdurl FILTER (regex (?wdurl, "wikidata.org")) .
    }
    OPTIONAL {
    ?composer owl:sameAs ?dburl FILTER (regex (?dburl, "dbpedia.org")) .
    }
}
""")


Out[9]:
composer viafurl mburl wdurl dburl
0 http://data.doremus.org/artist/6963af5e-b126-3... http://viaf.org/viaf/32182557 https://musicbrainz.org/artist/1f9df192-a621-4... None http://dbpedia.org/resource/Ludwig_van_Beethoven

Number of artists with VIAF link:


In [10]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "viaf.org")) .
}
""")


Out[10]:
callret-0
0 33633

Idem for composers only


In [11]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "viaf.org")) .
          [] mus:U31_had_function <http://data.doremus.org/vocabulary/function/composer> ;
              ecrm:P14_carried_out_by ?artist .
}
""")


Out[11]:
callret-0
0 5835

Number of artists with MB link


In [12]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "musicbrainz.org")) .
}
""")


Out[12]:
callret-0
0 7376

Idem for composers only


In [13]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "musicbrainz.org")) .
          [] mus:U31_had_function <http://data.doremus.org/vocabulary/function/composer> ;
              ecrm:P14_carried_out_by ?artist .
}
""")


Out[13]:
callret-0
0 2025

Number of artists with wikidata link


In [14]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "wikidata.org")) .
}
""")


Out[14]:
callret-0
0 3

Number of artists with DBpedia link


In [15]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT count(DISTINCT ?url)
WHERE {
    ?artist owl:sameAs ?url FILTER (regex (?url, "dbpedia.org")) .
}
""")


Out[15]:
callret-0
0 15077

Explore performers


In [16]:
get_sparql_dataframe(endpoint=doremus, query="""
    SELECT DISTINCT ?artist SAMPLE(?name) as ?name
    WHERE {
        [] a mus:M28_Individual_Performance ;
            ecrm:P14_carried_out_by ?artist .
        ?artist foaf:name ?name
    }
 LIMIT 10
""")


Out[16]:
artist name
0 http://data.doremus.org/artist/812345fd-2213-3... David Afkham
1 http://data.doremus.org/artist/1dec4459-1104-3... Olivier Bardot
2 http://data.doremus.org/artist/02915fe7-7726-3... Dimitra Kontou
3 http://data.doremus.org/artist/d6873812-ac13-3... Christophe Rousset
4 http://data.doremus.org/artist/a5c7c150-832b-3... Christine Abdelnour
5 http://data.doremus.org/artist/1e6a73c7-1123-3... Stephan Picard
6 http://data.doremus.org/artist/9818e805-6fa6-3... Karolina Strasilova
7 http://data.doremus.org/artist/b66b5541-57cc-3... Pablo Sainz Villegas
8 http://data.doremus.org/artist/38a0b315-51d6-3... Roland Pontinen
9 http://data.doremus.org/artist/3e7c84b6-68e8-3... Kengo Saito

Performances


In [17]:
get_sparql_dataframe(endpoint=doremus, query="""
SELECT DISTINCT *
WHERE {
    ?performance a efrbroo:F31_Performance ;
                 ecrm:P7_took_place_at <http://data.doremus.org/place/687896c9-0db7-31cf-8b20-5fa73dc268d6>
}
LIMIT 10
""")


Out[17]:
performance
0 http://data.doremus.org/performance/0cb2d83e-f...
1 http://data.doremus.org/performance/692e3cbd-2...
2 http://data.doremus.org/performance/12ca92f1-7...
3 http://data.doremus.org/performance/ed8d77e2-f...
4 http://data.doremus.org/performance/d5acc20a-e...
5 http://data.doremus.org/performance/de5d4000-5...
6 http://data.doremus.org/performance/72eebf61-f...
7 http://data.doremus.org/performance/2b644a22-6...
8 http://data.doremus.org/performance/ce5d4b8b-4...
9 http://data.doremus.org/performance/6ae74471-c...

Expressions

Works


In [ ]:

Align artists on VIAF?


In [18]:
df = get_sparql_dataframe(endpoint=doremus, query="""
SELECT DISTINCT ?doremus ?name ?viaf ?mbid
WHERE {
  ?doremus foaf:name ?name .
  ?doremus owl:sameAs ?viaf FILTER (regex (?viaf, "viaf.org")) .
  OPTIONAL {
    ?doremus owl:sameAs ?mbid FILTER (regex (?mbid, "musicbrainz.org")) .
  }
}
""")

In [19]:
df.mbid = df.mbid.str.replace('https://musicbrainz.org/artist/', '')
df = df.drop_duplicates(['doremus', 'viaf', 'mbid'])

In [20]:
df.head()


Out[20]:
doremus name viaf mbid
0 http://data.doremus.org/artist/b2360e86-1c01-3... Johann Christian Bach http://viaf.org/viaf/100191935 470967b1-f9ef-4712-82df-6971b517ebdb
4 http://data.doremus.org/artist/6963af5e-b126-3... Ludwig van Beethoven http://viaf.org/viaf/32182557 1f9df192-a621-4f54-8850-2c5373b7eac9
5 http://data.doremus.org/artist/813555dd-fb0a-3... Ferruccio Busoni http://viaf.org/viaf/44484509 cab67e98-340d-424e-baf1-b127902c200b
6 http://data.doremus.org/artist/ce05903d-0ea6-3... Ferdinando Carulli http://viaf.org/viaf/34642793 d6127833-8fdc-420d-9f39-39dbdee0c1e7
7 http://data.doremus.org/artist/d71f6b74-f380-3... Arcangelo Corelli http://viaf.org/viaf/69124242 a3546087-fe59-47d3-a3a8-42d58e2573c7

In [21]:
set(df[df.mbid.isnull()].viaf)


Out[21]:
{'http://viaf.org/viaf/2683173',
 'http://viaf.org/viaf/2658092',
 'http://viaf.org/viaf/118461540',
 'http://viaf.org/viaf/61744344',
 'http://viaf.org/viaf/48705003',
 'http://viaf.org/viaf/5191462',
 'http://viaf.org/viaf/171972497',
 'http://viaf.org/viaf/61732683',
 'http://viaf.org/viaf/37118975',
 'http://viaf.org/viaf/12515154',
 'http://viaf.org/viaf/71411089',
 'http://viaf.org/viaf/44489398',
 'http://viaf.org/viaf/5123446',
 'http://viaf.org/viaf/34667534',
 'http://viaf.org/viaf/64047197',
 'http://viaf.org/viaf/11354513',
 'http://viaf.org/viaf/27264005',
 'http://viaf.org/viaf/29733004',
 'http://viaf.org/viaf/47037047',
 'http://viaf.org/viaf/224766306',
 'http://viaf.org/viaf/160376901',
 'http://viaf.org/viaf/70552945',
 'http://viaf.org/viaf/42103547',
 'http://viaf.org/viaf/40736263',
 'http://viaf.org/viaf/37157566',
 'http://viaf.org/viaf/46945825',
 'http://viaf.org/viaf/51339618',
 'http://viaf.org/viaf/117215435',
 'http://viaf.org/viaf/233531586',
 'http://viaf.org/viaf/14958158',
 'http://viaf.org/viaf/37101745',
 'http://viaf.org/viaf/79168936',
 'http://viaf.org/viaf/17432456',
 'http://viaf.org/viaf/74033229',
 'http://viaf.org/viaf/164604755',
 'http://viaf.org/viaf/79223411',
 'http://viaf.org/viaf/56606105',
 'http://viaf.org/viaf/51849973',
 'http://viaf.org/viaf/7055677',
 'http://viaf.org/viaf/54353275',
 'http://viaf.org/viaf/118756001',
 'http://viaf.org/viaf/61733127',
 'http://viaf.org/viaf/46950311',
 'http://viaf.org/viaf/56821365',
 'http://viaf.org/viaf/76504783',
 'http://viaf.org/viaf/22351691',
 'http://viaf.org/viaf/69139291',
 'http://viaf.org/viaf/232714722',
 'http://viaf.org/viaf/76504253',
 'http://viaf.org/viaf/21708711',
 'http://viaf.org/viaf/50664795',
 'http://viaf.org/viaf/66696673',
 'http://viaf.org/viaf/27330009',
 'http://viaf.org/viaf/17512535',
 'http://viaf.org/viaf/6511251',
 'http://viaf.org/viaf/49407418',
 'http://viaf.org/viaf/22238785',
 'http://viaf.org/viaf/6542887',
 'http://viaf.org/viaf/13522434',
 'http://viaf.org/viaf/2892846',
 'http://viaf.org/viaf/44492659',
 'http://viaf.org/viaf/32189742',
 'http://viaf.org/viaf/50904101',
 'http://viaf.org/viaf/42025920',
 'http://viaf.org/viaf/117685416',
 'http://viaf.org/viaf/85567290',
 'http://viaf.org/viaf/42135872',
 'http://viaf.org/viaf/36911192',
 'http://viaf.org/viaf/61736566',
 'http://viaf.org/viaf/2659077',
 'http://viaf.org/viaf/29717444',
 'http://viaf.org/viaf/262057081',
 'http://viaf.org/viaf/40895275',
 'http://viaf.org/viaf/229096403',
 'http://viaf.org/viaf/53715535',
 'http://viaf.org/viaf/12615879',
 'http://viaf.org/viaf/76523736',
 'http://viaf.org/viaf/102398776',
 'http://viaf.org/viaf/162033743',
 'http://viaf.org/viaf/45374593',
 'http://viaf.org/viaf/44490755',
 'http://viaf.org/viaf/49489349',
 'http://viaf.org/viaf/31559237',
 'http://viaf.org/viaf/116704730',
 'http://viaf.org/viaf/34059163',
 'http://viaf.org/viaf/25349069',
 'http://viaf.org/viaf/162477520',
 'http://viaf.org/viaf/66725574',
 'http://viaf.org/viaf/12492273',
 'http://viaf.org/viaf/17505533',
 'http://viaf.org/viaf/125927972',
 'http://viaf.org/viaf/266059837',
 'http://viaf.org/viaf/7652533',
 'http://viaf.org/viaf/73938344',
 'http://viaf.org/viaf/275460115',
 'http://viaf.org/viaf/64214992',
 'http://viaf.org/viaf/119099484',
 'http://viaf.org/viaf/22351765',
 'http://viaf.org/viaf/13498723',
 'http://viaf.org/viaf/15015202',
 'http://viaf.org/viaf/310725973',
 'http://viaf.org/viaf/114341003',
 'http://viaf.org/viaf/32206605',
 'http://viaf.org/viaf/51891825',
 'http://viaf.org/viaf/57678616',
 'http://viaf.org/viaf/17412604',
 'http://viaf.org/viaf/17544570',
 'http://viaf.org/viaf/252140510',
 'http://viaf.org/viaf/26668771',
 'http://viaf.org/viaf/11952708',
 'http://viaf.org/viaf/108720761',
 'http://viaf.org/viaf/61739969',
 'http://viaf.org/viaf/90672363',
 'http://viaf.org/viaf/101526633',
 'http://viaf.org/viaf/69123571',
 'http://viaf.org/viaf/35395547',
 'http://viaf.org/viaf/189593885',
 'http://viaf.org/viaf/44492784',
 'http://viaf.org/viaf/42154547',
 'http://viaf.org/viaf/49428621',
 'http://viaf.org/viaf/303129063',
 'http://viaf.org/viaf/61809951',
 'http://viaf.org/viaf/233265185',
 'http://viaf.org/viaf/80190450',
 'http://viaf.org/viaf/17433755',
 'http://viaf.org/viaf/46961108',
 'http://viaf.org/viaf/40590998',
 'http://viaf.org/viaf/23625710',
 'http://viaf.org/viaf/56945125',
 'http://viaf.org/viaf/107639993',
 'http://viaf.org/viaf/61846854',
 'http://viaf.org/viaf/7575872',
 'http://viaf.org/viaf/8602540',
 'http://viaf.org/viaf/46944758',
 'http://viaf.org/viaf/64197728',
 'http://viaf.org/viaf/74061041',
 'http://viaf.org/viaf/72972702',
 'http://viaf.org/viaf/86419620',
 'http://viaf.org/viaf/29733795',
 'http://viaf.org/viaf/37128075',
 'http://viaf.org/viaf/119259765',
 'http://viaf.org/viaf/32262786',
 'http://viaf.org/viaf/326793',
 'http://viaf.org/viaf/78790937',
 'http://viaf.org/viaf/13455189',
 'http://viaf.org/viaf/50359596',
 'http://viaf.org/viaf/29796668',
 'http://viaf.org/viaf/30863232',
 'http://viaf.org/viaf/59274280',
 'http://viaf.org/viaf/62958398',
 'http://viaf.org/viaf/86944991',
 'http://viaf.org/viaf/52847261',
 'http://viaf.org/viaf/64202491',
 'http://viaf.org/viaf/56906760',
 'http://viaf.org/viaf/76497185',
 'http://viaf.org/viaf/85905803',
 'http://viaf.org/viaf/71595300',
 'http://viaf.org/viaf/17500296',
 'http://viaf.org/viaf/25775153',
 'http://viaf.org/viaf/44402421',
 'http://viaf.org/viaf/39585152',
 'http://viaf.org/viaf/17368725',
 'http://viaf.org/viaf/120741300',
 'http://viaf.org/viaf/114865303',
 'http://viaf.org/viaf/39573627',
 'http://viaf.org/viaf/74052162',
 'http://viaf.org/viaf/5130519',
 'http://viaf.org/viaf/34774316',
 'http://viaf.org/viaf/3575991',
 'http://viaf.org/viaf/24730748',
 'http://viaf.org/viaf/51810357',
 'http://viaf.org/viaf/168037714',
 'http://viaf.org/viaf/12498839',
 'http://viaf.org/viaf/71425562',
 'http://viaf.org/viaf/101030004',
 'http://viaf.org/viaf/88566400',
 'http://viaf.org/viaf/17407415',
 'http://viaf.org/viaf/255298778',
 'http://viaf.org/viaf/100256184',
 'http://viaf.org/viaf/80056538',
 'http://viaf.org/viaf/77229673',
 'http://viaf.org/viaf/88087601',
 'http://viaf.org/viaf/5194169',
 'http://viaf.org/viaf/46930306',
 'http://viaf.org/viaf/44551762',
 'http://viaf.org/viaf/7575095',
 'http://viaf.org/viaf/91165625',
 'http://viaf.org/viaf/42129990',
 'http://viaf.org/viaf/196243',
 'http://viaf.org/viaf/54357924',
 'http://viaf.org/viaf/102489933',
 'http://viaf.org/viaf/56804903',
 'http://viaf.org/viaf/21340976',
 'http://viaf.org/viaf/24600403',
 'http://viaf.org/viaf/5143348',
 'http://viaf.org/viaf/100331733',
 'http://viaf.org/viaf/273118',
 'http://viaf.org/viaf/61738844',
 'http://viaf.org/viaf/262923461',
 'http://viaf.org/viaf/66235651',
 'http://viaf.org/viaf/46946447',
 'http://viaf.org/viaf/94991561',
 'http://viaf.org/viaf/76373611',
 'http://viaf.org/viaf/54403227',
 'http://viaf.org/viaf/114742466',
 'http://viaf.org/viaf/35832117',
 'http://viaf.org/viaf/79728945',
 'http://viaf.org/viaf/44299771',
 'http://viaf.org/viaf/5142649',
 'http://viaf.org/viaf/39585433',
 'http://viaf.org/viaf/54981908',
 'http://viaf.org/viaf/10032994',
 'http://viaf.org/viaf/56215634',
 'http://viaf.org/viaf/12506205',
 'http://viaf.org/viaf/64214959',
 'http://viaf.org/viaf/79616437',
 'http://viaf.org/viaf/66676291',
 'http://viaf.org/viaf/110986689',
 'http://viaf.org/viaf/12466780',
 'http://viaf.org/viaf/49435139',
 'http://viaf.org/viaf/226080661',
 'http://viaf.org/viaf/286011503',
 'http://viaf.org/viaf/79693270',
 'http://viaf.org/viaf/10639641',
 'http://viaf.org/viaf/110841138',
 'http://viaf.org/viaf/5130213',
 'http://viaf.org/viaf/76501697',
 'http://viaf.org/viaf/273379542',
 'http://viaf.org/viaf/173547576',
 'http://viaf.org/viaf/78519534',
 'http://viaf.org/viaf/42027727',
 'http://viaf.org/viaf/76316180',
 'http://viaf.org/viaf/24790519',
 'http://viaf.org/viaf/54453139',
 'http://viaf.org/viaf/10060943',
 'http://viaf.org/viaf/102488273',
 'http://viaf.org/viaf/74048311',
 'http://viaf.org/viaf/16781816',
 'http://viaf.org/viaf/60579044',
 'http://viaf.org/viaf/7579951',
 'http://viaf.org/viaf/5131953',
 'http://viaf.org/viaf/80933465',
 'http://viaf.org/viaf/59279106',
 'http://viaf.org/viaf/24809967',
 'http://viaf.org/viaf/22439377',
 'http://viaf.org/viaf/109125025',
 'http://viaf.org/viaf/49407299',
 'http://viaf.org/viaf/79172547',
 'http://viaf.org/viaf/71650054',
 'http://viaf.org/viaf/37105652',
 'http://viaf.org/viaf/66721215',
 'http://viaf.org/viaf/34648576',
 'http://viaf.org/viaf/76500531',
 'http://viaf.org/viaf/74118734',
 'http://viaf.org/viaf/74058128',
 'http://viaf.org/viaf/16410753',
 'http://viaf.org/viaf/254832455',
 'http://viaf.org/viaf/90771505',
 'http://viaf.org/viaf/977860',
 'http://viaf.org/viaf/64273328',
 'http://viaf.org/viaf/103243224',
 'http://viaf.org/viaf/59281046',
 'http://viaf.org/viaf/51931339',
 'http://viaf.org/viaf/292185',
 'http://viaf.org/viaf/58121326',
 'http://viaf.org/viaf/59078239',
 'http://viaf.org/viaf/69765297',
 'http://viaf.org/viaf/91989329',
 'http://viaf.org/viaf/69195588',
 'http://viaf.org/viaf/69127799',
 'http://viaf.org/viaf/34641779',
 'http://viaf.org/viaf/54146503',
 'http://viaf.org/viaf/49539666',
 'http://viaf.org/viaf/22333017',
 'http://viaf.org/viaf/95361917',
 'http://viaf.org/viaf/408145857882123020814',
 'http://viaf.org/viaf/79898592',
 'http://viaf.org/viaf/170045838',
 'http://viaf.org/viaf/50663359',
 'http://viaf.org/viaf/12562128',
 'http://viaf.org/viaf/33378535',
 'http://viaf.org/viaf/107084422',
 'http://viaf.org/viaf/56822080',
 'http://viaf.org/viaf/24851319',
 'http://viaf.org/viaf/223773849',
 'http://viaf.org/viaf/49486482',
 'http://viaf.org/viaf/27253341',
 'http://viaf.org/viaf/56808955',
 'http://viaf.org/viaf/34664754',
 'http://viaf.org/viaf/19946500',
 'http://viaf.org/viaf/54339626',
 'http://viaf.org/viaf/29817197',
 'http://viaf.org/viaf/19944637',
 'http://viaf.org/viaf/64271801',
 'http://viaf.org/viaf/27396689',
 'http://viaf.org/viaf/19875389',
 'http://viaf.org/viaf/61739472',
 'http://viaf.org/viaf/100229963',
 'http://viaf.org/viaf/42029815',
 'http://viaf.org/viaf/15039091',
 'http://viaf.org/viaf/54356318',
 'http://viaf.org/viaf/107052895',
 'http://viaf.org/viaf/42034565',
 'http://viaf.org/viaf/12495567',
 'http://viaf.org/viaf/66662112',
 'http://viaf.org/viaf/85952354',
 'http://viaf.org/viaf/24789648',
 'http://viaf.org/viaf/113146291',
 'http://viaf.org/viaf/44353888',
 'http://viaf.org/viaf/14970116',
 'http://viaf.org/viaf/34649085',
 'http://viaf.org/viaf/71010034',
 'http://viaf.org/viaf/71582351',
 'http://viaf.org/viaf/316786632',
 'http://viaf.org/viaf/71603851',
 'http://viaf.org/viaf/93250504',
 'http://viaf.org/viaf/14499494',
 'http://viaf.org/viaf/4939956',
 'http://viaf.org/viaf/66599056',
 'http://viaf.org/viaf/12517018',
 'http://viaf.org/viaf/122064374',
 'http://viaf.org/viaf/100988301',
 'http://viaf.org/viaf/7450099',
 'http://viaf.org/viaf/32198153',
 'http://viaf.org/viaf/114566866',
 'http://viaf.org/viaf/37143217',
 'http://viaf.org/viaf/5124664',
 'http://viaf.org/viaf/44564792',
 'http://viaf.org/viaf/27333113',
 'http://viaf.org/viaf/19868645',
 'http://viaf.org/viaf/17414795',
 'http://viaf.org/viaf/97376732',
 'http://viaf.org/viaf/223773714',
 'http://viaf.org/viaf/73850796',
 'http://viaf.org/viaf/12569935',
 'http://viaf.org/viaf/69138061',
 'http://viaf.org/viaf/47817970',
 'http://viaf.org/viaf/95207407',
 'http://viaf.org/viaf/42052021',
 'http://viaf.org/viaf/27265837',
 'http://viaf.org/viaf/28336017',
 'http://viaf.org/viaf/5120243',
 'http://viaf.org/viaf/31566576',
 'http://viaf.org/viaf/167722551',
 'http://viaf.org/viaf/74963470',
 'http://viaf.org/viaf/36849173',
 'http://viaf.org/viaf/69114686',
 'http://viaf.org/viaf/56192284',
 'http://viaf.org/viaf/46412672',
 'http://viaf.org/viaf/44389458',
 'http://viaf.org/viaf/17275031',
 'http://viaf.org/viaf/198030',
 'http://viaf.org/viaf/158787464',
 'http://viaf.org/viaf/67638047',
 'http://viaf.org/viaf/26884132',
 'http://viaf.org/viaf/104435711',
 'http://viaf.org/viaf/12491087',
 'http://viaf.org/viaf/1863933',
 'http://viaf.org/viaf/77602125',
 'http://viaf.org/viaf/19291806',
 'http://viaf.org/viaf/75062670',
 'http://viaf.org/viaf/79775538',
 'http://viaf.org/viaf/50175443',
 'http://viaf.org/viaf/102051571',
 'http://viaf.org/viaf/216014951',
 'http://viaf.org/viaf/37126014',
 'http://viaf.org/viaf/66662196',
 'http://viaf.org/viaf/51696458',
 'http://viaf.org/viaf/15037751',
 'http://viaf.org/viaf/24867250',
 'http://viaf.org/viaf/195288',
 'http://viaf.org/viaf/85433094',
 'http://viaf.org/viaf/35672719',
 'http://viaf.org/viaf/42031933',
 'http://viaf.org/viaf/46949056',
 'http://viaf.org/viaf/79611095',
 'http://viaf.org/viaf/64335255',
 'http://viaf.org/viaf/54411296',
 'http://viaf.org/viaf/29721481',
 'http://viaf.org/viaf/306272259',
 'http://viaf.org/viaf/119160245',
 'http://viaf.org/viaf/100240119',
 'http://viaf.org/viaf/6151510',
 'http://viaf.org/viaf/27068016',
 'http://viaf.org/viaf/76509385',
 'http://viaf.org/viaf/1227794',
 'http://viaf.org/viaf/100245844',
 'http://viaf.org/viaf/90665050',
 'http://viaf.org/viaf/44483642',
 'http://viaf.org/viaf/56651122',
 'http://viaf.org/viaf/42106309',
 'http://viaf.org/viaf/64261917',
 'http://viaf.org/viaf/20800579',
 'http://viaf.org/viaf/235601616',
 'http://viaf.org/viaf/64805763',
 'http://viaf.org/viaf/299676349',
 'http://viaf.org/viaf/19885196',
 'http://viaf.org/viaf/89833849',
 'http://viaf.org/viaf/48909821',
 'http://viaf.org/viaf/103248241',
 'http://viaf.org/viaf/78429246',
 'http://viaf.org/viaf/5121149',
 'http://viaf.org/viaf/233395728',
 'http://viaf.org/viaf/79760106',
 'http://viaf.org/viaf/214324776',
 'http://viaf.org/viaf/116709900',
 'http://viaf.org/viaf/2667586',
 'http://viaf.org/viaf/2473696',
 'http://viaf.org/viaf/29798828',
 'http://viaf.org/viaf/27274147',
 'http://viaf.org/viaf/4707336',
 'http://viaf.org/viaf/19873056',
 'http://viaf.org/viaf/39698506',
 'http://viaf.org/viaf/75826881',
 'http://viaf.org/viaf/119858526',
 'http://viaf.org/viaf/5687827',
 'http://viaf.org/viaf/85796842',
 'http://viaf.org/viaf/46951515',
 'http://viaf.org/viaf/227399718',
 'http://viaf.org/viaf/29428617',
 'http://viaf.org/viaf/42037910',
 'http://viaf.org/viaf/10044698',
 'http://viaf.org/viaf/220672307',
 'http://viaf.org/viaf/300232566',
 'http://viaf.org/viaf/34653061',
 'http://viaf.org/viaf/67776715',
 'http://viaf.org/viaf/39624557',
 'http://viaf.org/viaf/49417423',
 'http://viaf.org/viaf/24798963',
 'http://viaf.org/viaf/130574',
 'http://viaf.org/viaf/42025252',
 'http://viaf.org/viaf/116963173',
 'http://viaf.org/viaf/103210603',
 'http://viaf.org/viaf/71074394',
 'http://viaf.org/viaf/51974836',
 'http://viaf.org/viaf/7573403',
 'http://viaf.org/viaf/170090982',
 'http://viaf.org/viaf/100366731',
 'http://viaf.org/viaf/17413938',
 'http://viaf.org/viaf/47900018',
 'http://viaf.org/viaf/32260594',
 'http://viaf.org/viaf/7587899',
 'http://viaf.org/viaf/71657338',
 'http://viaf.org/viaf/76499194',
 'http://viaf.org/viaf/262796357',
 'http://viaf.org/viaf/22404832',
 'http://viaf.org/viaf/170360353',
 'http://viaf.org/viaf/56803600',
 'http://viaf.org/viaf/83645194',
 'http://viaf.org/viaf/20129598',
 'http://viaf.org/viaf/19947548',
 'http://viaf.org/viaf/29719954',
 'http://viaf.org/viaf/27269305',
 'http://viaf.org/viaf/187377132',
 'http://viaf.org/viaf/79200886',
 'http://viaf.org/viaf/37837452',
 'http://viaf.org/viaf/10164905',
 'http://viaf.org/viaf/59286346',
 'http://viaf.org/viaf/79926285',
 'http://viaf.org/viaf/42147882',
 'http://viaf.org/viaf/74036604',
 'http://viaf.org/viaf/14373108',
 'http://viaf.org/viaf/5142180',
 'http://viaf.org/viaf/35831653',
 'http://viaf.org/viaf/61814056',
 'http://viaf.org/viaf/12495551',
 'http://viaf.org/viaf/169989055',
 'http://viaf.org/viaf/7708929',
 'http://viaf.org/viaf/88102294',
 'http://viaf.org/viaf/303573728',
 'http://viaf.org/viaf/56875406',
 'http://viaf.org/viaf/113816858',
 'http://viaf.org/viaf/14972788',
 'http://viaf.org/viaf/74110532',
 'http://viaf.org/viaf/54439852',
 'http://viaf.org/viaf/19864901',
 'http://viaf.org/viaf/80183416',
 'http://viaf.org/viaf/29537984',
 'http://viaf.org/viaf/34509266',
 'http://viaf.org/viaf/87961104',
 'http://viaf.org/viaf/42105662',
 'http://viaf.org/viaf/47188302',
 'http://viaf.org/viaf/33438261',
 'http://viaf.org/viaf/41808136',
 'http://viaf.org/viaf/19681954',
 'http://viaf.org/viaf/42049600',
 'http://viaf.org/viaf/3546601',
 'http://viaf.org/viaf/29262313',
 'http://viaf.org/viaf/59210384',
 'http://viaf.org/viaf/59086755',
 'http://viaf.org/viaf/231343225',
 'http://viaf.org/viaf/34647137',
 'http://viaf.org/viaf/74186729',
 'http://viaf.org/viaf/46328576',
 'http://viaf.org/viaf/99501129',
 'http://viaf.org/viaf/71585464',
 'http://viaf.org/viaf/87563238',
 'http://viaf.org/viaf/51956882',
 'http://viaf.org/viaf/56818765',
 'http://viaf.org/viaf/34773332',
 'http://viaf.org/viaf/17424228',
 'http://viaf.org/viaf/2606837',
 'http://viaf.org/viaf/66788561',
 'http://viaf.org/viaf/64270759',
 'http://viaf.org/viaf/12204321',
 'http://viaf.org/viaf/241359024',
 'http://viaf.org/viaf/19892670',
 'http://viaf.org/viaf/121804050',
 'http://viaf.org/viaf/116616724',
 'http://viaf.org/viaf/5850997',
 'http://viaf.org/viaf/61732024',
 'http://viaf.org/viaf/87193340',
 'http://viaf.org/viaf/56833217',
 'http://viaf.org/viaf/118576513',
 'http://viaf.org/viaf/121568877',
 'http://viaf.org/viaf/16221858',
 'http://viaf.org/viaf/113886461',
 'http://viaf.org/viaf/12726746',
 'http://viaf.org/viaf/100738165',
 'http://viaf.org/viaf/68790970',
 'http://viaf.org/viaf/121187594',
 'http://viaf.org/viaf/7574215',
 'http://viaf.org/viaf/61730425',
 'http://viaf.org/viaf/24828860',
 'http://viaf.org/viaf/46252924',
 'http://viaf.org/viaf/95326366',
 'http://viaf.org/viaf/42029203',
 'http://viaf.org/viaf/29532393',
 'http://viaf.org/viaf/74038117',
 'http://viaf.org/viaf/25670499',
 'http://viaf.org/viaf/66013052',
 'http://viaf.org/viaf/54336859',
 'http://viaf.org/viaf/37127231',
 'http://viaf.org/viaf/56794762',
 'http://viaf.org/viaf/51193991',
 'http://viaf.org/viaf/88456450',
 'http://viaf.org/viaf/42162004',
 'http://viaf.org/viaf/29719977',
 'http://viaf.org/viaf/9987907',
 'http://viaf.org/viaf/19406231',
 'http://viaf.org/viaf/17417215',
 'http://viaf.org/viaf/18825158',
 'http://viaf.org/viaf/74036092',
 'http://viaf.org/viaf/7590034',
 'http://viaf.org/viaf/61813553',
 'http://viaf.org/viaf/16763168',
 'http://viaf.org/viaf/7573593',
 'http://viaf.org/viaf/22415936',
 'http://viaf.org/viaf/4484500',
 'http://viaf.org/viaf/7577730',
 'http://viaf.org/viaf/29172870',
 'http://viaf.org/viaf/222870492',
 'http://viaf.org/viaf/96583693',
 'http://viaf.org/viaf/51883707',
 'http://viaf.org/viaf/61742772',
 'http://viaf.org/viaf/24865261',
 'http://viaf.org/viaf/39642024',
 'http://viaf.org/viaf/95356293',
 'http://viaf.org/viaf/197376',
 'http://viaf.org/viaf/79170516',
 'http://viaf.org/viaf/15967075',
 'http://viaf.org/viaf/44509230',
 'http://viaf.org/viaf/101562870',
 'http://viaf.org/viaf/51890050',
 'http://viaf.org/viaf/33156538',
 'http://viaf.org/viaf/74043837',
 'http://viaf.org/viaf/34671112',
 'http://viaf.org/viaf/107038504',
 'http://viaf.org/viaf/49415489',
 'http://viaf.org/viaf/100986718',
 'http://viaf.org/viaf/34653486',
 'http://viaf.org/viaf/39622752',
 'http://viaf.org/viaf/42024689',
 'http://viaf.org/viaf/1156429',
 'http://viaf.org/viaf/22350730',
 'http://viaf.org/viaf/58043308',
 'http://viaf.org/viaf/119070655',
 'http://viaf.org/viaf/37641719',
 'http://viaf.org/viaf/60616892',
 'http://viaf.org/viaf/33998685',
 'http://viaf.org/viaf/15090723',
 'http://viaf.org/viaf/49407350',
 'http://viaf.org/viaf/38649242',
 'http://viaf.org/viaf/34666602',
 'http://viaf.org/viaf/10038344',
 'http://viaf.org/viaf/40531528',
 'http://viaf.org/viaf/100357247',
 'http://viaf.org/viaf/2683071',
 'http://viaf.org/viaf/24864971',
 'http://viaf.org/viaf/37107722',
 'http://viaf.org/viaf/79165496',
 'http://viaf.org/viaf/116515735',
 'http://viaf.org/viaf/34563172',
 'http://viaf.org/viaf/262665632',
 'http://viaf.org/viaf/111253415',
 'http://viaf.org/viaf/66209286',
 'http://viaf.org/viaf/17411704',
 'http://viaf.org/viaf/32203283',
 'http://viaf.org/viaf/30891051',
 'http://viaf.org/viaf/22341381',
 'http://viaf.org/viaf/107616795',
 'http://viaf.org/viaf/115860342',
 'http://viaf.org/viaf/2657668',
 'http://viaf.org/viaf/305950105',
 'http://viaf.org/viaf/19866263',
 'http://viaf.org/viaf/92249534',
 'http://viaf.org/viaf/89670422',
 'http://viaf.org/viaf/61747464',
 'http://viaf.org/viaf/310502265',
 'http://viaf.org/viaf/15100532',
 'http://viaf.org/viaf/51887656',
 'http://viaf.org/viaf/264606407',
 'http://viaf.org/viaf/257121',
 'http://viaf.org/viaf/61812171',
 'http://viaf.org/viaf/120740109',
 'http://viaf.org/viaf/177728757',
 'http://viaf.org/viaf/76571665',
 'http://viaf.org/viaf/5148145',
 'http://viaf.org/viaf/66665886',
 'http://viaf.org/viaf/61685167',
 'http://viaf.org/viaf/76514577',
 'http://viaf.org/viaf/100988431',
 'http://viaf.org/viaf/71599769',
 'http://viaf.org/viaf/39669065',
 'http://viaf.org/viaf/62426417',
 'http://viaf.org/viaf/167992145',
 'http://viaf.org/viaf/12540536',
 'http://viaf.org/viaf/163925555',
 'http://viaf.org/viaf/26948125',
 'http://viaf.org/viaf/2736120',
 'http://viaf.org/viaf/171113131',
 'http://viaf.org/viaf/10105602',
 'http://viaf.org/viaf/71657676',
 'http://viaf.org/viaf/2748700',
 'http://viaf.org/viaf/22405348',
 'http://viaf.org/viaf/24394667',
 'http://viaf.org/viaf/78812422',
 'http://viaf.org/viaf/42024593',
 'http://viaf.org/viaf/17417816',
 'http://viaf.org/viaf/5119403',
 'http://viaf.org/viaf/17409752',
 'http://viaf.org/viaf/266340502',
 'http://viaf.org/viaf/71044140',
 'http://viaf.org/viaf/61814416',
 'http://viaf.org/viaf/85725460',
 'http://viaf.org/viaf/7686189',
 'http://viaf.org/viaf/46971450',
 'http://viaf.org/viaf/42024224',
 'http://viaf.org/viaf/79712836',
 'http://viaf.org/viaf/241353077',
 'http://viaf.org/viaf/56696314',
 'http://viaf.org/viaf/5194273',
 'http://viaf.org/viaf/22194905',
 'http://viaf.org/viaf/32326828',
 'http://viaf.org/viaf/59296481',
 'http://viaf.org/viaf/71658933',
 'http://viaf.org/viaf/32263487',
 'http://viaf.org/viaf/69118140',
 'http://viaf.org/viaf/54408588',
 'http://viaf.org/viaf/309842829',
 'http://viaf.org/viaf/56271285',
 'http://viaf.org/viaf/56385366',
 'http://viaf.org/viaf/61555259',
 'http://viaf.org/viaf/53124799',
 'http://viaf.org/viaf/79484487',
 'http://viaf.org/viaf/71567929',
 'http://viaf.org/viaf/32181717',
 'http://viaf.org/viaf/54374543',
 'http://viaf.org/viaf/79196503',
 'http://viaf.org/viaf/56812223',
 'http://viaf.org/viaf/17420383',
 'http://viaf.org/viaf/310502373',
 'http://viaf.org/viaf/54900525',
 'http://viaf.org/viaf/79208037',
 'http://viaf.org/viaf/122245292',
 'http://viaf.org/viaf/22327901',
 'http://viaf.org/viaf/119556326',
 'http://viaf.org/viaf/74056206',
 'http://viaf.org/viaf/191394194',
 'http://viaf.org/viaf/43949012',
 'http://viaf.org/viaf/24163529',
 'http://viaf.org/viaf/232780275',
 'http://viaf.org/viaf/307211451',
 'http://viaf.org/viaf/49407309',
 'http://viaf.org/viaf/19445994',
 'http://viaf.org/viaf/47013068',
 'http://viaf.org/viaf/27277811',
 'http://viaf.org/viaf/263681860',
 'http://viaf.org/viaf/108882532',
 'http://viaf.org/viaf/119537246',
 'http://viaf.org/viaf/292556591',
 'http://viaf.org/viaf/26667706',
 'http://viaf.org/viaf/69210849',
 'http://viaf.org/viaf/61748229',
 'http://viaf.org/viaf/77262533',
 'http://viaf.org/viaf/100249426',
 'http://viaf.org/viaf/122192001',
 'http://viaf.org/viaf/308244370',
 'http://viaf.org/viaf/111596791',
 'http://viaf.org/viaf/42131163',
 'http://viaf.org/viaf/222188801',
 'http://viaf.org/viaf/59394633',
 'http://viaf.org/viaf/37113243',
 'http://viaf.org/viaf/9480274',
 'http://viaf.org/viaf/196973',
 'http://viaf.org/viaf/66658252',
 'http://viaf.org/viaf/20106042',
 'http://viaf.org/viaf/196262',
 'http://viaf.org/viaf/39574648',
 'http://viaf.org/viaf/17413448',
 'http://viaf.org/viaf/85116625',
 'http://viaf.org/viaf/261474',
 'http://viaf.org/viaf/56875971',
 'http://viaf.org/viaf/60405915',
 'http://viaf.org/viaf/11585810',
 'http://viaf.org/viaf/51879805',
 'http://viaf.org/viaf/24677982',
 'http://viaf.org/viaf/113836580',
 'http://viaf.org/viaf/14958324',
 'http://viaf.org/viaf/70959309',
 'http://viaf.org/viaf/85093195',
 'http://viaf.org/viaf/117202406',
 'http://viaf.org/viaf/57716435',
 'http://viaf.org/viaf/10049805',
 'http://viaf.org/viaf/7691644',
 'http://viaf.org/viaf/31639252',
 'http://viaf.org/viaf/71020334',
 'http://viaf.org/viaf/17420799',
 'http://viaf.org/viaf/36393892',
 'http://viaf.org/viaf/39587403',
 'http://viaf.org/viaf/19868650',
 'http://viaf.org/viaf/15082320',
 'http://viaf.org/viaf/85765474',
 'http://viaf.org/viaf/74133420',
 'http://viaf.org/viaf/56790591',
 'http://viaf.org/viaf/37180975',
 'http://viaf.org/viaf/46967793',
 'http://viaf.org/viaf/7808161',
 'http://viaf.org/viaf/24806943',
 'http://viaf.org/viaf/16182790',
 'http://viaf.org/viaf/297304751',
 'http://viaf.org/viaf/13774362',
 'http://viaf.org/viaf/290408',
 'http://viaf.org/viaf/24811610',
 'http://viaf.org/viaf/39641435',
 'http://viaf.org/viaf/54413035',
 'http://viaf.org/viaf/19945282',
 'http://viaf.org/viaf/71602738',
 'http://viaf.org/viaf/12556414',
 'http://viaf.org/viaf/173765842',
 'http://viaf.org/viaf/56873459',
 'http://viaf.org/viaf/95128239',
 'http://viaf.org/viaf/7706717',
 'http://viaf.org/viaf/75028230',
 'http://viaf.org/viaf/54165610',
 'http://viaf.org/viaf/170275762',
 'http://viaf.org/viaf/87320412',
 'http://viaf.org/viaf/61734737',
 'http://viaf.org/viaf/5118613',
 'http://viaf.org/viaf/56274275',
 'http://viaf.org/viaf/2736154',
 'http://viaf.org/viaf/27263983',
 'http://viaf.org/viaf/85135137',
 'http://viaf.org/viaf/64092782',
 'http://viaf.org/viaf/36145542355896641105',
 'http://viaf.org/viaf/29070487',
 'http://viaf.org/viaf/71437427',
 'http://viaf.org/viaf/43217707',
 'http://viaf.org/viaf/46948986',
 'http://viaf.org/viaf/22337059',
 'http://viaf.org/viaf/2659020',
 'http://viaf.org/viaf/116710015',
 'http://viaf.org/viaf/88529123',
 'http://viaf.org/viaf/76325766',
 'http://viaf.org/viaf/78781025',
 'http://viaf.org/viaf/37103401',
 'http://viaf.org/viaf/54215758',
 'http://viaf.org/viaf/5193845',
 'http://viaf.org/viaf/44508054',
 'http://viaf.org/viaf/56917788',
 'http://viaf.org/viaf/59327013',
 'http://viaf.org/viaf/260081077',
 'http://viaf.org/viaf/34663386',
 'http://viaf.org/viaf/29722686',
 'http://viaf.org/viaf/80168886',
 'http://viaf.org/viaf/71655673',
 'http://viaf.org/viaf/18162251',
 'http://viaf.org/viaf/310746235',
 'http://viaf.org/viaf/46381984',
 'http://viaf.org/viaf/119874817',
 'http://viaf.org/viaf/19873590',
 'http://viaf.org/viaf/7563376',
 'http://viaf.org/viaf/71096038',
 'http://viaf.org/viaf/114303154',
 'http://viaf.org/viaf/79711320',
 'http://viaf.org/viaf/37103641',
 'http://viaf.org/viaf/49406666',
 'http://viaf.org/viaf/23271573',
 'http://viaf.org/viaf/56750518',
 'http://viaf.org/viaf/42937881',
 'http://viaf.org/viaf/49409644',
 'http://viaf.org/viaf/79728689',
 'http://viaf.org/viaf/76503034',
 'http://viaf.org/viaf/231924899',
 'http://viaf.org/viaf/232747386',
 'http://viaf.org/viaf/141277282',
 'http://viaf.org/viaf/102327975',
 'http://viaf.org/viaf/44497373',
 'http://viaf.org/viaf/29351249',
 'http://viaf.org/viaf/90707522',
 'http://viaf.org/viaf/51874772',
 'http://viaf.org/viaf/79170345',
 'http://viaf.org/viaf/16232067',
 'http://viaf.org/viaf/80168302',
 'http://viaf.org/viaf/42036719',
 'http://viaf.org/viaf/24786516',
 'http://viaf.org/viaf/95948188',
 'http://viaf.org/viaf/59349656',
 'http://viaf.org/viaf/121280596',
 'http://viaf.org/viaf/207884',
 'http://viaf.org/viaf/74046185',
 'http://viaf.org/viaf/8492920',
 'http://viaf.org/viaf/27357844',
 'http://viaf.org/viaf/122235699',
 'http://viaf.org/viaf/29723450',
 'http://viaf.org/viaf/24575251',
 'http://viaf.org/viaf/267645900',
 'http://viaf.org/viaf/2680369',
 'http://viaf.org/viaf/27063679',
 'http://viaf.org/viaf/34742312',
 'http://viaf.org/viaf/49435490',
 'http://viaf.org/viaf/56808183',
 'http://viaf.org/viaf/69050052',
 'http://viaf.org/viaf/79931097',
 'http://viaf.org/viaf/216421863',
 'http://viaf.org/viaf/46972765',
 'http://viaf.org/viaf/79169720',
 'http://viaf.org/viaf/136461616',
 'http://viaf.org/viaf/10100272',
 'http://viaf.org/viaf/288067784',
 'http://viaf.org/viaf/17485837',
 'http://viaf.org/viaf/5143601',
 'http://viaf.org/viaf/41851845',
 'http://viaf.org/viaf/12581178',
 'http://viaf.org/viaf/39573426',
 'http://viaf.org/viaf/27332766',
 'http://viaf.org/viaf/74050545',
 'http://viaf.org/viaf/52000248',
 'http://viaf.org/viaf/47027135',
 'http://viaf.org/viaf/34719699',
 'http://viaf.org/viaf/9396903',
 'http://viaf.org/viaf/74038867',
 'http://viaf.org/viaf/79166146',
 'http://viaf.org/viaf/32288114',
 'http://viaf.org/viaf/46952108',
 'http://viaf.org/viaf/43187998',
 'http://viaf.org/viaf/56820952',
 'http://viaf.org/viaf/66727448',
 'http://viaf.org/viaf/72751795',
 'http://viaf.org/viaf/71604448',
 'http://viaf.org/viaf/29562966',
 'http://viaf.org/viaf/61816749',
 'http://viaf.org/viaf/34664156',
 'http://viaf.org/viaf/120173358',
 'http://viaf.org/viaf/10032514',
 'http://viaf.org/viaf/12496829',
 'http://viaf.org/viaf/41937221',
 'http://viaf.org/viaf/2682328',
 'http://viaf.org/viaf/55243632',
 'http://viaf.org/viaf/105871811',
 'http://viaf.org/viaf/87543637',
 'http://viaf.org/viaf/79603693',
 'http://viaf.org/viaf/32274887',
 'http://viaf.org/viaf/5691085',
 'http://viaf.org/viaf/27851128',
 'http://viaf.org/viaf/22344842',
 'http://viaf.org/viaf/12571789',
 'http://viaf.org/viaf/79267838',
 'http://viaf.org/viaf/220923291',
 'http://viaf.org/viaf/24868011',
 'http://viaf.org/viaf/5121385',
 'http://viaf.org/viaf/10905402',
 'http://viaf.org/viaf/120741901',
 'http://viaf.org/viaf/84234416',
 'http://viaf.org/viaf/54425662',
 'http://viaf.org/viaf/24813054',
 'http://viaf.org/viaf/102424264',
 'http://viaf.org/viaf/231905472',
 'http://viaf.org/viaf/159960322',
 'http://viaf.org/viaf/43864325',
 'http://viaf.org/viaf/51953202',
 'http://viaf.org/viaf/66654459',
 'http://viaf.org/viaf/24910373',
 'http://viaf.org/viaf/76561033',
 'http://viaf.org/viaf/17416369',
 'http://viaf.org/viaf/7581516',
 'http://viaf.org/viaf/12491492',
 'http://viaf.org/viaf/42047795',
 'http://viaf.org/viaf/47026675',
 'http://viaf.org/viaf/32260491',
 'http://viaf.org/viaf/59271023',
 'http://viaf.org/viaf/74037032',
 'http://viaf.org/viaf/117052928',
 'http://viaf.org/viaf/42132392',
 'http://viaf.org/viaf/2789925',
 'http://viaf.org/viaf/7596806',
 'http://viaf.org/viaf/135621876',
 'http://viaf.org/viaf/60707350',
 'http://viaf.org/viaf/88102729',
 'http://viaf.org/viaf/305144229',
 'http://viaf.org/viaf/61325914',
 'http://viaf.org/viaf/247236825',
 'http://viaf.org/viaf/37247572',
 'http://viaf.org/viaf/32134199',
 'http://viaf.org/viaf/54348842',
 'http://viaf.org/viaf/24865392',
 'http://viaf.org/viaf/120185644',
 'http://viaf.org/viaf/49648304',
 'http://viaf.org/viaf/95339187',
 'http://viaf.org/viaf/29530185',
 'http://viaf.org/viaf/48975862',
 'http://viaf.org/viaf/28994787',
 'http://viaf.org/viaf/25670389',
 'http://viaf.org/viaf/21732828',
 'http://viaf.org/viaf/88075287',
 'http://viaf.org/viaf/17411829',
 'http://viaf.org/viaf/36915864',
 'http://viaf.org/viaf/64270700',
 'http://viaf.org/viaf/7571845',
 'http://viaf.org/viaf/34668104',
 'http://viaf.org/viaf/69193937',
 'http://viaf.org/viaf/55470171',
 'http://viaf.org/viaf/19889908',
 'http://viaf.org/viaf/305041496',
 'http://viaf.org/viaf/5116167',
 'http://viaf.org/viaf/71583337',
 'http://viaf.org/viaf/184600448',
 'http://viaf.org/viaf/58232117',
 'http://viaf.org/viaf/37224347',
 'http://viaf.org/viaf/51875196',
 'http://viaf.org/viaf/7574386',
 'http://viaf.org/viaf/51958016',
 'http://viaf.org/viaf/228031210',
 'http://viaf.org/viaf/76506354',
 'http://viaf.org/viaf/17859749',
 'http://viaf.org/viaf/61736469',
 'http://viaf.org/viaf/100317503',
 'http://viaf.org/viaf/54350103',
 'http://viaf.org/viaf/10060839',
 'http://viaf.org/viaf/37105411',
 'http://viaf.org/viaf/53769555',
 'http://viaf.org/viaf/51699915',
 'http://viaf.org/viaf/84227805',
 'http://viaf.org/viaf/103611240',
 'http://viaf.org/viaf/37047393',
 'http://viaf.org/viaf/120509981',
 'http://viaf.org/viaf/71577180',
 'http://viaf.org/viaf/5116228',
 'http://viaf.org/viaf/34645197',
 'http://viaf.org/viaf/88077518',
 'http://viaf.org/viaf/65221171',
 'http://viaf.org/viaf/71579411',
 'http://viaf.org/viaf/14965606',
 'http://viaf.org/viaf/206179',
 'http://viaf.org/viaf/7240374',
 'http://viaf.org/viaf/12598393',
 'http://viaf.org/viaf/59193215',
 'http://viaf.org/viaf/34508675',
 'http://viaf.org/viaf/19865669',
 'http://viaf.org/viaf/61757535',
 'http://viaf.org/viaf/7703797',
 'http://viaf.org/viaf/123145543915896660006',
 'http://viaf.org/viaf/44301979',
 'http://viaf.org/viaf/11923137',
 'http://viaf.org/viaf/32186592',
 'http://viaf.org/viaf/38097872',
 'http://viaf.org/viaf/64429667',
 'http://viaf.org/viaf/27260830',
 'http://viaf.org/viaf/74131480',
 'http://viaf.org/viaf/19451628',
 'http://viaf.org/viaf/42264240',
 'http://viaf.org/viaf/2576127',
 'http://viaf.org/viaf/107567430',
 'http://viaf.org/viaf/64192535',
 'http://viaf.org/viaf/12503742',
 'http://viaf.org/viaf/33096063',
 'http://viaf.org/viaf/3631657',
 'http://viaf.org/viaf/12492287',
 'http://viaf.org/viaf/32187716',
 'http://viaf.org/viaf/304927461',
 'http://viaf.org/viaf/113844204',
 'http://viaf.org/viaf/71589481',
 'http://viaf.org/viaf/5057543',
 'http://viaf.org/viaf/7651983',
 'http://viaf.org/viaf/80207410',
 'http://viaf.org/viaf/77578547',
 'http://viaf.org/viaf/66750138',
 'http://viaf.org/viaf/167711360',
 'http://viaf.org/viaf/64205460',
 'http://viaf.org/viaf/49488393',
 ...}

In [22]:
len(set(df[df.mbid.isnull()].viaf))


Out[22]:
19038

In [23]:
mb_df = sql("""
SELECT artist.name, artist.gid AS mbid, url.url AS viaf
  FROM artist
  JOIN l_artist_url AS lau ON lau.entity0 = artist.id
  JOIN url                 ON lau.entity1 = url.id
 WHERE url IN (%s)
 ORDER BY artist.name;
""" % ("'" + "','".join(set(df[df.mbid.isnull()].viaf)) + "'"))
mb_df.head()


Out[23]:
name mbid viaf
0 Aapo Häkkinen 00d99e36-e21a-41b7-b371-5638990c882b http://viaf.org/viaf/85788769
1 Abel Carlevaro 27d92643-10c7-4932-b118-f9ab6d3ec085 http://viaf.org/viaf/35596942
2 Abel Decaux 7701e1c5-9a23-4eb0-b204-cd887da3e209 http://viaf.org/viaf/34650276
3 Abraham Holzmann 43a0cb15-9119-4d16-a3f7-16a339625a2d http://viaf.org/viaf/51873660
4 Abraham van den Kerckhoven 8c83b6dc-68f4-4b65-b9f8-0c68133b405e http://viaf.org/viaf/22335342

In [24]:
mb_df.shape


Out[24]:
(4314, 3)

So:

  • 19000 unique VIAF id in Doremus with no MBID
  • among those, 4300 VIAF ids already known in MB

These 4300 should have the MBID added to Doremus. The 15000 others should have their VIAF added to MB or the artist created if necessary

Record linkage


In [42]:
df = df[df.mbid.isnull()]

In [43]:
# Indexation step
indexer = recordlinkage.BlockIndex('viaf')
pairs = indexer.index(df, mb_df)
print(len(pairs))


4319

In [66]:
# Classification step
linkage = []
for (idx0, idx1) in pairs:
    linkage.append([
        df.loc[idx0]['name'],
        mb_df.loc[idx1]['name'],
        mb_artist_link(mb_df.loc[idx1]['mbid']),
        '<a href="{}">{}</a>'.format(df.loc[idx0]['viaf'],
                                     df.loc[idx0]['viaf'].replace('http://viaf.org/viaf/', '')),
        '<a href="{}">{}</a>'.format(df.loc[idx0]['doremus'],
                                     df.loc[idx0]['doremus'].replace('http://data.doremus.org/artist/', '')),
    ])

In [67]:
linkage = pd.DataFrame(linkage, columns=['Doremus name', 'MB name', 'MBID',
                                         'VIAF', 'Doremus id'])

In [68]:
linkage.head()


Out[68]:
Doremus name MB name MBID VIAF Doremus id
0 Franz Benda František Benda <a href="https://musicbrainz.org/artist/15e1ac75-fe9e-4269-ad9f-e1a1ad3a1e3a">15e1ac75-fe9e-4269-ad9f-e1a1ad3a1e3a</a> <a href="http://viaf.org/viaf/44397958">44397958</a> <a href="http://data.doremus.org/artist/06373273-f08a-306b-b5ba-1b6e4d66d035">06373273-f08a-306b-b5ba-1b6e4d66d035</a>
1 Arthur Honegger Arthur Honegger <a href="https://musicbrainz.org/artist/7bcfc64a-ce4a-4065-947c-d037bca1e230">7bcfc64a-ce4a-4065-947c-d037bca1e230</a> <a href="http://viaf.org/viaf/51699915">51699915</a> <a href="http://data.doremus.org/artist/e3f0fc72-7967-39a4-888b-823b46576174">e3f0fc72-7967-39a4-888b-823b46576174</a>
2 Felix Mendelssohn Bartholdy Felix Mendelssohn <a href="https://musicbrainz.org/artist/0e85eb79-1c05-44ba-827c-7b259a3d941a">0e85eb79-1c05-44ba-827c-7b259a3d941a</a> <a href="http://viaf.org/viaf/2665666">2665666</a> <a href="http://data.doremus.org/artist/c02d29d9-0ab1-376e-a104-ae6184064092">c02d29d9-0ab1-376e-a104-ae6184064092</a>
3 Carlo Grossi Carlo Grossi <a href="https://musicbrainz.org/artist/900527bd-9456-4de7-82c2-0fddd50efaf2">900527bd-9456-4de7-82c2-0fddd50efaf2</a> <a href="http://viaf.org/viaf/2684719">2684719</a> <a href="http://data.doremus.org/artist/3eae01a6-bd8f-3e03-9283-5dbf3160619f">3eae01a6-bd8f-3e03-9283-5dbf3160619f</a>
4 Vasilij Sergeevič Kalinnikov Василий Сергеевич Калинников <a href="https://musicbrainz.org/artist/d991017b-0e07-4ff6-8c0c-f6090f75b743">d991017b-0e07-4ff6-8c0c-f6090f75b743</a> <a href="http://viaf.org/viaf/76500531">76500531</a> <a href="http://data.doremus.org/artist/41c2e793-0bfb-3d82-8a24-9f4ee2305a12">41c2e793-0bfb-3d82-8a24-9f4ee2305a12</a>

In [70]:
template = Template("""
<!doctype html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Doremus/MusicBrainz comparison</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  </head>

  <body style="margin: 20px;">
    <h1>Doremus/MusicBrainz comparison</h1>    
    <p>Latest update: {{ datetime.utcnow().isoformat()[:19] }}</p>
    
    <ol>
      <li><a href="#viaf">VIAF comparison</a></li>
    </ol>
    
    <h2 id="viaf">VIAF comparison</h2>
    <p>Record linkage: Doremus records with no MusicBrainz link and a VIAF ID also known in MusicBrainz:</p>
      {{ linkage.to_html(index=True) }}
  </body>
</html>
""")

with open('docs/doremus.html', 'w') as fdout:
    fdout.write(template.render(**globals())
            .replace('&lt;', '<').replace('&gt;', '>')
            .replace('class="dataframe"', 'class="table table-striped table-hover table-sm"')
            .replace('thead', 'thead class="thead-light"'))