changeset 25:e856df83c57f classical-rdf

* checkpoint disambiguation
author Chris Cannam
date Fri, 26 Feb 2010 16:39:16 +0000
parents 2b574b88778e
children bff0ee472a7f
files common/Objects.cpp common/TypeRegistrar.cpp import/build-database.sh import/check/composer-uris utilities/composer/composer.cpp
diffstat 5 files changed, 100 insertions(+), 72 deletions(-) [+]
line wrap: on
line diff
--- a/common/Objects.cpp	Fri Feb 26 15:26:55 2010 +0000
+++ b/common/Objects.cpp	Fri Feb 26 16:39:16 2010 +0000
@@ -542,9 +542,8 @@
 void
 Composer::mergeFrom(Composer *c)
 {
-    QString name = c->name();
     QSet<QString> allNames = c->aliases();
-    allNames.insert(name);
+    allNames.insert(c->name());
         
     foreach (QString n, allNames) {
         if (n != m_name && !m_aliases.contains(n)) {
--- a/common/TypeRegistrar.cpp	Fri Feb 26 15:26:55 2010 +0000
+++ b/common/TypeRegistrar.cpp	Fri Feb 26 16:39:16 2010 +0000
@@ -102,76 +102,84 @@
 void
 TypeRegistrar::addMappings(BasicStore *store, ObjectMapper *mapper)
 {
-    store->addPrefix("foaf", Uri("http://xmlns.com/foaf/0.1/"));
-    store->addPrefix("mo", Uri("http://purl.org/ontology/mo/"));
-    store->addPrefix("dc", Uri("http://purl.org/dc/elements/1.1/"));
-    store->addPrefix("bio", Uri("http://purl.org/vocab/bio/0.1/"));
-    store->addPrefix("owl", Uri("http://www.w3.org/2002/07/owl#"));
-    store->addPrefix("rdfs", Uri("http://www.w3.org/2000/01/rdf-schema#"));
-    store->addPrefix("db", Uri("http://dbtune.org/musicbrainz/resource/"));
-    store->addPrefix("dbv", Uri("http://dbtune.org/musicbrainz/resource/vocab/"));
-    store->addPrefix("cmn", Uri("http://purl.org/ontology/classicalmusicnav#"));
-    store->addPrefix("sim", Uri("http://purl.org/ontology/similarity/"));
+    if (store) {
+	store->addPrefix("foaf", Uri("http://xmlns.com/foaf/0.1/"));
+	store->addPrefix("mo", Uri("http://purl.org/ontology/mo/"));
+	store->addPrefix("dc", Uri("http://purl.org/dc/elements/1.1/"));
+	store->addPrefix("bio", Uri("http://purl.org/vocab/bio/0.1/"));
+	store->addPrefix("owl", Uri("http://www.w3.org/2002/07/owl#"));
+	store->addPrefix("rdfs", Uri("http://www.w3.org/2000/01/rdf-schema#"));
+	store->addPrefix("db", Uri("http://dbtune.org/musicbrainz/resource/"));
+	store->addPrefix("dbv", Uri("http://dbtune.org/musicbrainz/resource/vocab/"));
+	store->addPrefix("cmn", Uri("http://purl.org/ontology/classicalmusicnav#"));
+	store->addPrefix("sim", Uri("http://purl.org/ontology/similarity/"));
+    }
 
-    mapper->setObjectTypePrefix(Uri("http://dbtune.org/classical/resource/"));
-    mapper->setPropertyPrefix(Uri("http://dbtune.org/classical/resource/vocab/"));
-    mapper->setRelationshipPrefix(Uri("http://dbtune.org/classical/resource/vocab/relationship/"));
-    
-    store->addPrefix("type", mapper->getObjectTypePrefix());
-    store->addPrefix("classical", Uri(mapper->getObjectTypePrefix().toString() + "type/"));
-    store->addPrefix("property", mapper->getPropertyPrefix());
-    store->addPrefix("rel", mapper->getRelationshipPrefix());
+    if (mapper) {
+	mapper->setObjectTypePrefix(Uri("http://dbtune.org/classical/resource/"));
+	mapper->setPropertyPrefix(Uri("http://dbtune.org/classical/resource/vocab/"));
+	mapper->setRelationshipPrefix(Uri("http://dbtune.org/classical/resource/vocab/relationship/"));
+    }
 
-    store->add(Triple("classical:Composer", "a", store->expand("owl:Class")));
-    store->add(Triple("classical:Composer", "rdfs:subClassOf", store->expand("mo:MusicArtist")));
+    if (store) {
+	store->addPrefix("type", mapper->getObjectTypePrefix());
+	store->addPrefix("classical", Uri(mapper->getObjectTypePrefix().toString() + "type/"));
+	store->addPrefix("property", mapper->getPropertyPrefix());
+	store->addPrefix("rel", mapper->getRelationshipPrefix());
 
-    store->add(Triple("property:birth", "a", store->expand("owl:ObjectProperty")));
-    store->add(Triple("property:birth", "rdfs:subPropertyOf", store->expand("bio:event")));
+	store->add(Triple("classical:Composer", "a", store->expand("owl:Class")));
+	store->add(Triple("classical:Composer", "rdfs:subClassOf", store->expand("mo:MusicArtist")));
 
-    store->add(Triple("property:death", "a", store->expand("owl:ObjectProperty")));
-    store->add(Triple("property:death", "rdfs:subPropertyOf", store->expand("bio:event")));
+	store->add(Triple("property:birth", "a", store->expand("owl:ObjectProperty")));
+	store->add(Triple("property:birth", "rdfs:subPropertyOf", store->expand("bio:event")));
 
-    mapper->addTypeMapping("ClassicalData::Composer", "classical:Composer");
-    mapper->addPropertyMapping("ClassicalData::Composer", "pages", "foaf:page");
-    mapper->addPropertyMapping("ClassicalData::Composer", "name", "foaf:name");
-    mapper->addPropertyMapping("ClassicalData::Composer", "aliases", "dbv:alias");
-    mapper->addPropertyMapping("ClassicalData::Composer", "birth", "property:birth");
-    mapper->addPropertyMapping("ClassicalData::Composer", "death", "property:death");
-    mapper->addPropertyMapping("ClassicalData::Composer", "geonameURIs", "foaf:based_near");
-    mapper->addPropertyMapping("ClassicalData::Composer", "otherURIs", "owl:sameAs");
+	store->add(Triple("property:death", "a", store->expand("owl:ObjectProperty")));
+	store->add(Triple("property:death", "rdfs:subPropertyOf", store->expand("bio:event")));
+    }
 
-    mapper->addTypeMapping("ClassicalData::Birth", "bio:Birth");
-    mapper->addTypeMapping("ClassicalData::Death", "bio:Death");
-    mapper->addTypeUriPrefixMapping("ClassicalData::Birth", ":event/");
-    mapper->addTypeUriPrefixMapping("ClassicalData::Death", ":event/");
-    mapper->addPropertyMapping("ClassicalData::Birth", "year", "dc:date");
-    mapper->addPropertyMapping("ClassicalData::Death", "year", "dc:date");
-    mapper->addPropertyMapping("ClassicalData::Composition", "year", "dc:date");
-    mapper->addPropertyMapping("ClassicalData::Birth", "place", "bio:place");
-    mapper->addPropertyMapping("ClassicalData::Death", "place", "bio:place");
-    mapper->addPropertyMapping("ClassicalData::Composition", "place", "bio:place");
+    if (mapper) {
+	mapper->addTypeMapping("ClassicalData::Composer", "classical:Composer");
+	mapper->addPropertyMapping("ClassicalData::Composer", "pages", "foaf:page");
+	mapper->addPropertyMapping("ClassicalData::Composer", "name", "foaf:name");
+	mapper->addPropertyMapping("ClassicalData::Composer", "aliases", "dbv:alias");
+	mapper->addPropertyMapping("ClassicalData::Composer", "birth", "property:birth");
+	mapper->addPropertyMapping("ClassicalData::Composer", "death", "property:death");
+	mapper->addPropertyMapping("ClassicalData::Composer", "geonameURIs", "foaf:based_near");
+	mapper->addPropertyMapping("ClassicalData::Composer", "otherURIs", "owl:sameAs");
 
-    mapper->addTypeMapping("ClassicalData::Document", "foaf:Document");
-    mapper->addPropertyMapping("ClassicalData::Document", "topic", "foaf:primaryTopic");
+	mapper->addTypeMapping("ClassicalData::Birth", "bio:Birth");
+	mapper->addTypeMapping("ClassicalData::Death", "bio:Death");
+	mapper->addTypeUriPrefixMapping("ClassicalData::Birth", ":event/");
+	mapper->addTypeUriPrefixMapping("ClassicalData::Death", ":event/");
+	mapper->addPropertyMapping("ClassicalData::Birth", "year", "dc:date");
+	mapper->addPropertyMapping("ClassicalData::Death", "year", "dc:date");
+	mapper->addPropertyMapping("ClassicalData::Composition", "year", "dc:date");
+	mapper->addPropertyMapping("ClassicalData::Birth", "place", "bio:place");
+	mapper->addPropertyMapping("ClassicalData::Death", "place", "bio:place");
+	mapper->addPropertyMapping("ClassicalData::Composition", "place", "bio:place");
 
-    mapper->addTypeMapping("ClassicalData::Work", "mo:MusicalWork");
+	mapper->addTypeMapping("ClassicalData::Document", "foaf:Document");
+	mapper->addPropertyMapping("ClassicalData::Document", "topic", "foaf:primaryTopic");
 
-    mapper->addPropertyMapping("ClassicalData::Work", "composition", "mo:composed_in");
-    mapper->addPropertyMapping("ClassicalData::Work", "opus", "mo:opus");
-    mapper->addPropertyMapping("ClassicalData::Work", "catalogue", "mo:catalogue");
-    mapper->addPropertyMapping("ClassicalData::Work", "number", "mo:number");
-    mapper->addPropertyMapping("ClassicalData::Work", "partOf", "dc:isPartOf");
-    mapper->addPropertyMapping("ClassicalData::Work", "parts", "dc:hasPart");
-    mapper->addPropertyMapping("ClassicalData::Work", "pages", "foaf:page");
-    mapper->addPropertyMapping("ClassicalData::Work", "forms", "property:form");
-    mapper->addPropertyMapping("ClassicalData::Work", "key", "mo:key");
-    mapper->addPropertyMapping("ClassicalData::Work", "aliases", "dbv:alias");
-    mapper->addPropertyMapping("ClassicalData::Work", "name", "dc:title");
+	mapper->addTypeMapping("ClassicalData::Work", "mo:MusicalWork");
 
-    mapper->addTypeMapping("ClassicalData::Composition", "mo:Composition");
-    mapper->addTypeUriPrefixMapping("ClassicalData::Composition", ":event/");
-    mapper->addPropertyMapping("ClassicalData::Composition", "composer", "mo:composer");
-    mapper->addPropertyMapping("ClassicalData::Composition", "works", "mo:produced_work");
+	mapper->addPropertyMapping("ClassicalData::Work", "composition", "mo:composed_in");
+	mapper->addPropertyMapping("ClassicalData::Work", "opus", "mo:opus");
+	mapper->addPropertyMapping("ClassicalData::Work", "catalogue", "mo:catalogue");
+	mapper->addPropertyMapping("ClassicalData::Work", "number", "mo:number");
+	mapper->addPropertyMapping("ClassicalData::Work", "partOf", "dc:isPartOf");
+	mapper->addPropertyMapping("ClassicalData::Work", "parts", "dc:hasPart");
+	mapper->addPropertyMapping("ClassicalData::Work", "pages", "foaf:page");
+	mapper->addPropertyMapping("ClassicalData::Work", "forms", "property:form");
+	mapper->addPropertyMapping("ClassicalData::Work", "key", "mo:key");
+	mapper->addPropertyMapping("ClassicalData::Work", "aliases", "dbv:alias");
+	mapper->addPropertyMapping("ClassicalData::Work", "name", "dc:title");
+
+	mapper->addTypeMapping("ClassicalData::Composition", "mo:Composition");
+	mapper->addTypeUriPrefixMapping("ClassicalData::Composition", ":event/");
+	mapper->addPropertyMapping("ClassicalData::Composition", "composer", "mo:composer");
+	mapper->addPropertyMapping("ClassicalData::Composition", "works", "mo:produced_work");
+    }
 }
 
 }
--- a/import/build-database.sh	Fri Feb 26 15:26:55 2010 +0000
+++ b/import/build-database.sh	Fri Feb 26 16:39:16 2010 +0000
@@ -17,7 +17,7 @@
 
 echo "Running importer, log is written to importer.log"
 
-./importer 2>importer.log || exit 1
+#./importer 2>importer.log || exit 1
 
 echo "Assembling additional sources"
 
@@ -34,7 +34,7 @@
     cat extra/prefixes.ttl "$ttl" | rapper -i turtle -o ntriples - http://dbtune.org/classical/resource/ >> ready.ntriples
 done
 
-sort ready.ntriples > ready.2.ntriples && mv ready.2.ntriples ready.ntriples
+sort ready.ntriples | uniq > ready.2.ntriples && mv ready.2.ntriples ready.ntriples
 
 grep composer ready.ntriples | fgrep -v .html | sed 's/^.*composer\///' | \
     sed 's/>.*//' | grep -v http | sort | uniq > check/new-composer-uris
--- a/import/check/composer-uris	Fri Feb 26 15:26:55 2010 +0000
+++ b/import/check/composer-uris	Fri Feb 26 16:39:16 2010 +0000
@@ -168,6 +168,7 @@
 alfven_hugo
 ali_zadeh_franghiz
 alkan_charles_valentin
+alkan_charles_valentin_morhange
 allegri_georgio
 allegri_gregorio
 allegri_lorenzo
@@ -291,6 +292,7 @@
 arditi_luigi
 arditti_david
 arensky_anton
+arensky_anton_stepanovich
 aretino_paolo
 argent_mark
 argento_dominick
@@ -305,6 +307,7 @@
 arne_michael
 arnest_richard
 arne_thomas
+arne_thomas_augustine
 arnold_samuel
 arnold_sir_malcolm
 arona_columbo
@@ -759,6 +762,7 @@
 biarent_adolphe
 biber_carl_heinrich
 biber_heinrich_franz_von
+biber_heinrich_ignaz_franz_von
 bibl_rudolf
 biebl_franz
 biebl_franz_xaver
@@ -1922,6 +1926,7 @@
 de_lange_daniel
 delannoy_marcel
 delarue_george
+de_la_rue_pierre
 de_la_tombelle_fernand
 delaurenti_christopher
 delaval_mme
@@ -1991,6 +1996,7 @@
 dering_lady_mary
 dering_richard
 de_rogatis_pascual
+de_rore_cipriano
 derosier_nicolas
 dery_jeruen_espino
 de_sabata_victor
@@ -2971,6 +2977,7 @@
 glinka_mikhail_ivanovich
 glise_anthony
 globokar_vinko
+gluck_christoph_willibald
 gluck_christoph_willibald_von
 gluck_frederick
 glyn_gareth
@@ -3022,6 +3029,7 @@
 golubev_igor
 golubkov_sergei
 gombau_gerardo
+gombert_nicolaas
 gombert_nicolas
 gomelskaya_julia
 gomes_carlos
@@ -3343,6 +3351,7 @@
 harris_todd
 hartke_stephen
 hartley_walter
+hartmann_johann_peter_emilius
 hartmann_johan_peter_emilius
 hartmann_john
 hartmann_karl_amadeus
@@ -3383,6 +3392,7 @@
 hay_daniel_j
 haydn_johann_michael
 haydn_joseph
+haydn_michael
 hayes_mark
 hayes_philip
 hayes_phillip
@@ -4405,6 +4415,7 @@
 lemba_artur
 lemire_jean_baptiste
 lemlin_lorenz
+lemmens_jaak_nikolaas
 lemmens_jacques_nicholas
 lemmone_john
 lendvay_erwin
@@ -4989,6 +5000,7 @@
 medins_janis
 medtner_nikolai_karlovich
 medtner_nikolas
+medtner_nikolay
 mehul_etienne_nicolas
 meidell_jacob_gerhard
 meijering_chiel
@@ -5029,6 +5041,7 @@
 menotti_gian_carlo
 merbecke_john
 mercadante_giuseppe_saverio
+mercadante_saverio_rafaele
 mercer_joe
 mercer_johnny
 merculo_claudio
@@ -5116,6 +5129,7 @@
 modart_joel
 modugno_domenico
 moeran_ernest
+moeran_ernest_john
 moevs_robert
 moguillansky_eduardo
 mohr_christopher
@@ -5229,6 +5243,7 @@
 mouret_jean_joseph
 moussa_samy
 moussorgsky_modest
+moussorgsky_modest%20%20%20%20%20%20%20%20%20%20%20%20%20
 mouton_charles
 mouton_jean
 mowere_richard
@@ -5931,6 +5946,7 @@
 pomarico_ken
 ponce_juan
 ponce_manuel
+ponce_manuel_maria
 ponchielli_amilcare
 ponomarenko_irina
 ponomaryov_alexander
@@ -6242,6 +6258,7 @@
 riley_terry
 rilling_helmuth
 rimmele_rolf
+rimsky_korsakov_nikolai_andreyevich
 rimsky_korsakov_nikolay
 rinaldi_giovanni
 rinck_johann_christian
@@ -6685,6 +6702,7 @@
 schulz_evler_andrey
 schulz_johann_abraham_peter
 schulz_patrick
+schumann_clara
 schumann_clara_wieck
 schumann_robert_alexander
 schuman_william
@@ -7096,8 +7114,8 @@
 steinhardt_victor
 stella_simone
 stenger_iv_carl_robert
-stenhammar_vilhelm_eugene
 stenhammar_wilhelm
+stenhammar_wilhelm__2
 stenings_henry
 stepanovich_dmitry
 stepec_matthieu
@@ -7220,6 +7238,7 @@
 sutherland_margaret
 suzay_jehan
 svendsen_johan
+svendsen_johan_severin
 sverud_harald
 sverud_tormod
 svetlanov_evgeny
@@ -7326,6 +7345,7 @@
 taylor_rowan
 tchaikovsky_boris_alexandrovich
 tchaikovsky_pyotr_ilich
+tchaikovsky_pyotr_ilyich
 tchaykovsky_aleksandr_vladimirovich
 tchekryzhov_sergei
 tcherepnin_alexander
@@ -7787,6 +7807,7 @@
 von_bose_hans_jurgen
 von_braunschweig_sophia_elisabetha
 von_dohnanyi_erno
+von_flotow_friedrich
 von_holstein_franz
 von_holt_sombach_johann_julius_sontag
 von_keussler_gerhard
@@ -7829,6 +7850,7 @@
 wagner_joseph_franz
 wagner_melinda
 wagner_richard
+wagner_richardER
 wagner_siegfried
 wagner_werner
 wagner_wolfram
@@ -7946,6 +7968,7 @@
 weiss_johann_adolf_faustinus
 weiss_silvius_leopold
 weiss_stephan
+weiss_sylvius_leopold
 welcher_dan
 welcher_daniel
 wellesz_egon
@@ -8019,6 +8042,7 @@
 wilder_philip_van
 wildman_charles
 wilkins_margaret_lucy
+willaert_adriaan
 willaert_adrian
 willan_healey
 willcocks_sir_david
--- a/utilities/composer/composer.cpp	Fri Feb 26 15:26:55 2010 +0000
+++ b/utilities/composer/composer.cpp	Fri Feb 26 16:39:16 2010 +0000
@@ -300,7 +300,6 @@
     cerr << " done" << endl;
 
     delete mapper;
-    delete store;
 
     allComposers = root->findChildren<Composer *>();
 
@@ -351,11 +350,9 @@
     }
         
     if (write) {
-        BasicStore *outstore = new BasicStore();
-        outstore->setBaseUri(Uri("http://dbtune.org/classical/resource/"));
-        ObjectMapper *outmapper = new ObjectMapper(outstore);
+        ObjectMapper *outmapper = new ObjectMapper(store);
 
-        TypeRegistrar::addMappings(outstore, outmapper);
+        TypeRegistrar::addMappings(0, outmapper);
 
         outmapper->setPropertyStorePolicy(ObjectMapper::StoreIfChanged);
         outmapper->setObjectStorePolicy(ObjectMapper::StoreAllObjects);
@@ -366,12 +363,12 @@
         cerr << " done" << endl;
 
         cerr << "Saving to file out.ttl...";
-        outstore->save("out.ttl");
+        store->save("out.ttl");
         cerr << " done" << endl;
         
         delete outmapper;
-        delete outstore;
     }
 
+    delete store;
 }