Mercurial > hg > svcore
diff rdf/RDFImporter.cpp @ 736:31ab733841d0 dataquay
A few bugfixes in RDF import and export
author | Chris Cannam |
---|---|
date | Thu, 24 May 2012 13:25:21 +0100 |
parents | 27c861cce97b |
children | 547b03533375 |
line wrap: on
line diff
--- a/rdf/RDFImporter.cpp Wed May 23 17:14:57 2012 +0100 +++ b/rdf/RDFImporter.cpp Thu May 24 13:25:21 2012 +0100 @@ -142,7 +142,13 @@ m_store->addPrefix("rdfs", Uri("http://www.w3.org/2000/01/rdf-schema#")); //!!! may throw! - m_store->import(QUrl::fromLocalFile(uri), BasicStore::ImportIgnoreDuplicates); + QUrl url; + if (uri.startsWith("file:")) { + url = QUrl(uri); + } else { + url = QUrl::fromLocalFile(uri); + } + m_store->import(url, BasicStore::ImportIgnoreDuplicates); } RDFImporterImpl::~RDFImporterImpl() @@ -847,13 +853,15 @@ SVDEBUG << "NOTE: RDFImporter::identifyDocumentType: haveAudio = " << haveAudio << endl; - n = store->complete(Triple(Node(), store->expand("event:time"), Node())); + // can't call complete() with two Nothing nodes + n = store->matchOnce(Triple(Node(), store->expand("event:time"), Node())).c; if (n != Node()) { haveAnnotations = true; } if (!haveAnnotations) { - n = store->complete(Triple(Node(), store->expand("af:signal_feature"), Node())); + // can't call complete() with two Nothing nodes + n = store->matchOnce(Triple(Node(), store->expand("af:signal_feature"), Node())).c; if (n != Node()) { haveAnnotations = true; }