Mercurial > hg > classical
comparison import/Import.cpp @ 28:7d8a6167febb classical-rdf
* Begin new text entry / search widget & test utility for it
* Improve typing matching methods
* Update code to use ObjectLoader/Storer instead of old-style ObjectMapper
author | Chris Cannam |
---|---|
date | Mon, 01 Mar 2010 16:51:14 +0000 |
parents | 437442790e51 |
children |
comparison
equal
deleted
inserted
replaced
27:e8160a2d8b28 | 28:7d8a6167febb |
---|---|
2 | 2 |
3 #include "Objects.h" | 3 #include "Objects.h" |
4 | 4 |
5 #include <dataquay/BasicStore.h> | 5 #include <dataquay/BasicStore.h> |
6 #include <dataquay/RDFException.h> | 6 #include <dataquay/RDFException.h> |
7 #include <dataquay/objectmapper/ObjectMapper.h> | 7 #include <dataquay/objectmapper/ObjectStorer.h> |
8 #include <dataquay/objectmapper/ObjectLoader.h> | |
8 #include <dataquay/objectmapper/ObjectBuilder.h> | 9 #include <dataquay/objectmapper/ObjectBuilder.h> |
10 #include <dataquay/objectmapper/TypeMapping.h> | |
9 #include <dataquay/objectmapper/ContainerBuilder.h> | 11 #include <dataquay/objectmapper/ContainerBuilder.h> |
10 | 12 |
11 #include "ImportClassicalComposersOrg.h" | 13 #include "ImportClassicalComposersOrg.h" |
12 #include "ImportClassicalDotNet.h" | 14 #include "ImportClassicalDotNet.h" |
13 #include "ImportClassicalArchives.h" | 15 #include "ImportClassicalArchives.h" |
487 <WikipediaWorksListImporter>("ClassicalData::WikipediaWorksListImporter*"); | 489 <WikipediaWorksListImporter>("ClassicalData::WikipediaWorksListImporter*"); |
488 ObjectBuilder::getInstance()->registerClass | 490 ObjectBuilder::getInstance()->registerClass |
489 <HobokenImporter>("ClassicalData::HobokenImporter*"); | 491 <HobokenImporter>("ClassicalData::HobokenImporter*"); |
490 | 492 |
491 BasicStore *store = BasicStore::load(QUrl("file:importers.ttl")); | 493 BasicStore *store = BasicStore::load(QUrl("file:importers.ttl")); |
492 ObjectMapper mapper(store); | 494 ObjectLoader loader(store); |
493 QObject *parentObject = mapper.loadAllObjects(new QObject()); | 495 QObject *parentObject = loader.loadAllObjects(new QObject()); |
494 | 496 |
495 BasicStore *outstore = new BasicStore(); | 497 BasicStore *outstore = new BasicStore(); |
496 outstore->setBaseUri(Uri("http://dbtune.org/classical/resource/")); | 498 outstore->setBaseUri(Uri("http://dbtune.org/classical/resource/")); |
497 ObjectMapper outmapper(outstore); | 499 ObjectStorer storer(outstore); |
500 TypeMapping tm; | |
498 | 501 |
499 TypeRegistrar::registerTypes(); | 502 TypeRegistrar::registerTypes(); |
500 TypeRegistrar::addMappings(outstore, &outmapper); | 503 TypeRegistrar::addMappings(outstore, &tm); |
501 | 504 |
502 outmapper.setPropertyStorePolicy(ObjectMapper::StoreIfChanged); | 505 storer.setTypeMapping(tm); |
503 outmapper.setObjectStorePolicy(ObjectMapper::StoreAllObjects); | 506 storer.setPropertyStorePolicy(ObjectStorer::StoreIfChanged); |
504 outmapper.setBlankNodePolicy(ObjectMapper::NoBlankNodes); | 507 storer.setObjectStorePolicy(ObjectStorer::StoreAllObjects); |
508 storer.setBlankNodePolicy(ObjectStorer::NoBlankNodes); | |
505 | 509 |
506 QList<Importer *> importers = parentObject->findChildren<Importer *>(); | 510 QList<Importer *> importers = parentObject->findChildren<Importer *>(); |
507 std::cerr << "have " << importers.size() << " importers" << std::endl; | 511 std::cerr << "have " << importers.size() << " importers" << std::endl; |
508 | 512 |
509 ComposerMap composers; | 513 ComposerMap composers; |
612 if (u != "") storedUris.insert(u); | 616 if (u != "") storedUris.insert(u); |
613 } | 617 } |
614 } | 618 } |
615 | 619 |
616 try { | 620 try { |
617 outmapper.storeAllObjects(toStore); | 621 storer.storeAllObjects(toStore); |
618 | 622 |
619 } catch (RDFException e) { | 623 } catch (RDFException e) { |
620 std::cerr << "Caught RDF exception: " << e.what() << std::endl; | 624 std::cerr << "Caught RDF exception: " << e.what() << std::endl; |
621 } | 625 } |
622 | 626 |