def test__datasets(self): p = RDFParser() p.g = _default_graph() assert len([d for d in p._datasets()]) == 3
def test__datasets_none_found(self): p = RDFParser() p.g = Graph() assert len([d for d in p._datasets()]) == 0
def test__datasets_none_found(self): p = RDFParser() p.g = Graph() eq_(len([d for d in p._datasets()]), 0)
def test__datasets(self): p = RDFParser() p.g = _default_graph() eq_(len([d for d in p._datasets()]), 3)
def _update_package_in_triplestore(self, package_id, package_org): '''Updates the package with the given package ID in the triple store.''' uri = 'n/a' # Get uri of dataset rdf = self._get_rdf(package_id) rdf_parser = RDFParser() rdf_parser.parse(rdf) # Should be only one dataset for uri in rdf_parser._datasets(): self.triplestore_client.delete_dataset_in_triplestore(uri) self.triplestore_client.create_dataset_in_triplestore(rdf, uri) # shacl-validate the graph validation_rdf = self.shacl_validation_client.validate( rdf, uri, package_org) if validation_rdf: # update in mqa-triplestore self.triplestore_client.delete_dataset_in_triplestore_mqa( uri, package_org) self.triplestore_client.create_dataset_in_triplestore_mqa( validation_rdf, uri) return uri
def _delete_dataset_in_triplestore(self, harvest_object): ''' Deletes the package with the given package ID in the triple store. ''' try: if self.triplestore_client.is_available(): package_id = harvest_object.package_id LOGGER.debug( u'Start deleting dataset with ID %s from triplestore.', package_id) context = {'user': self._get_user_name()} rdf = toolkit.get_action('dcat_dataset_show')(context, { 'id': package_id }) rdf_parser = RDFParser() rdf_parser.parse(rdf) # Should be only one dataset uri = next(rdf_parser._datasets(), None) source_dataset = model.Package.get(harvest_object.source.id) self._delete_dataset_in_triplestore_by_uri(uri, source_dataset) except RDFParserException as ex: LOGGER.warn( u'Error while parsing the RDF file for dataset with ID %s: %s', package_id, ex)