Example #1
0
    def test__datasets(self):

        p = RDFParser()

        p.g = _default_graph()

        assert len([d for d in p._datasets()]) == 3
Example #2
0
    def test__datasets_none_found(self):

        p = RDFParser()

        p.g = Graph()

        assert len([d for d in p._datasets()]) == 0
Example #3
0
    def test__datasets_none_found(self):

        p = RDFParser()

        p.g = Graph()

        eq_(len([d for d in p._datasets()]), 0)
Example #4
0
    def test__datasets(self):

        p = RDFParser()

        p.g = _default_graph()

        eq_(len([d for d in p._datasets()]), 3)
    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
Example #8
0
 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)