diff import/Import.cpp @ 4:719a4f477098 classical-rdf

* Add Classical Archives composer list importer; run it
author Chris Cannam
date Thu, 10 Dec 2009 15:15:40 +0000
parents 62324586b8d0
children d23a4c935a22
line wrap: on
line diff
--- a/import/Import.cpp	Tue Dec 08 17:56:37 2009 +0000
+++ b/import/Import.cpp	Thu Dec 10 15:15:40 2009 +0000
@@ -10,6 +10,7 @@
 
 #include "ImportClassicalComposersOrg.h"
 #include "ImportClassicalDotNet.h"
+#include "ImportClassicalArchives.h"
 #include "ImportWikipediaComposers.h"
 #include "ImportWikipediaWorks.h"
 #include "ImportWikipediaWorksK.h"
@@ -340,7 +341,15 @@
     }
 
     if (c->gender() != "") other->setGender(c->gender());
-    if (c->nationality() != "") other->setNationality(c->nationality());
+
+    foreach (QString s, c->nationality()) {
+        other->addNationality(s);
+    }
+
+    foreach (QUrl s, c->geonameURIs()) {
+        other->addGeonameURI(s);
+    }
+
     if (c->remarks() != "") other->setRemarks(c->remarks());
     if (c->period() != "") other->setPeriod(c->period());
 
@@ -510,11 +519,15 @@
 	("QSet<ClassicalData::Form*>");
     qRegisterMetaType<QSet<QString> >
         ("QSet<QString>");
+    qRegisterMetaType<QSet<QUrl> >
+        ("QSet<QUrl>");
 
     qRegisterMetaType<ClassicalComposersOrgImporter *>
 	("ClassicalData::ClassicalComposersOrgImporter*");
     qRegisterMetaType<ClassicalDotNetImporter *>
 	("ClassicalData::ClassicalDotNetImporter*");
+    qRegisterMetaType<ClassicalArchivesImporter *>
+	("ClassicalData::ClassicalArchivesImporter*");
     qRegisterMetaType<WikipediaComposersImporter *>
 	("ClassicalData::WikipediaComposersImporter*");
     qRegisterMetaType<WikipediaWorksImporter *>
@@ -550,6 +563,8 @@
     ObjectBuilder::getInstance()->registerClass
 	<ClassicalDotNetImporter>("ClassicalData::ClassicalDotNetImporter*");
     ObjectBuilder::getInstance()->registerClass
+	<ClassicalArchivesImporter>("ClassicalData::ClassicalArchivesImporter*");
+    ObjectBuilder::getInstance()->registerClass
 	<WikipediaComposersImporter>("ClassicalData::WikipediaComposersImporter*");
     ObjectBuilder::getInstance()->registerClass
 	<WikipediaWorksImporter>("ClassicalData::WikipediaWorksImporter*");
@@ -565,6 +580,10 @@
         ("QString", "QSet<QString>", ContainerBuilder::SetKind);
 
     ContainerBuilder::getInstance()->registerContainer
+        <QUrl, QSet<QUrl> >
+        ("QUrl", "QSet<QUrl>", ContainerBuilder::SetKind);
+
+    ContainerBuilder::getInstance()->registerContainer
         <Work*, QSet<Work*> >
         ("ClassicalData::Work*", "QSet<ClassicalData::Work*>",
          ContainerBuilder::SetKind);
@@ -622,9 +641,12 @@
     outmapper.addPropertyMapping("ClassicalData::Composer", "aliases", "dbv:alias");
     outmapper.addPropertyMapping("ClassicalData::Composer", "birth", "property:birth");
     outmapper.addPropertyMapping("ClassicalData::Composer", "death", "property:death");
+    outmapper.addPropertyMapping("ClassicalData::Composer", "geonameURIs", "foaf:based_near");
 
     outmapper.addTypeMapping("ClassicalData::Birth", "bio:Birth");
     outmapper.addTypeMapping("ClassicalData::Death", "bio:Death");
+    outmapper.addTypeUriPrefixMapping("ClassicalData::Birth", ":event/");
+    outmapper.addTypeUriPrefixMapping("ClassicalData::Death", ":event/");
     outmapper.addPropertyMapping("ClassicalData::Birth", "year", "bio:date");
     outmapper.addPropertyMapping("ClassicalData::Death", "year", "bio:date");
     outmapper.addPropertyMapping("ClassicalData::Birth", "place", "bio:place");
@@ -648,6 +670,7 @@
     outmapper.addPropertyMapping("ClassicalData::Work", "name", "dc:title");
 
     outmapper.addTypeMapping("ClassicalData::Composition", "mo:Composition");
+    outmapper.addTypeUriPrefixMapping("ClassicalData::Composition", ":event/");
     outmapper.addPropertyMapping("ClassicalData::Composition", "composer", "mo:composer");
     outmapper.addPropertyMapping("ClassicalData::Composition", "works", "mo:produced_work");