def test_all_resource_fields(self): license = LicenseFactory() resource = ResourceFactory(format='csv') dataset = DatasetFactory(resources=[resource], license=license) permalink = url_for('datasets.resource', id=resource.id, _external=True) r = resource_to_rdf(resource, dataset) assert r.value(DCT.title) == Literal(resource.title) assert r.value(DCT.description) == Literal(resource.description) assert r.value(DCT.issued) == Literal(resource.published) assert r.value(DCT.modified) == Literal(resource.modified) assert r.value(DCT.license).identifier == URIRef(license.url) assert r.value(DCT.rights) == Literal(license.title) assert r.value(DCAT.downloadURL).identifier == URIRef(resource.url) assert r.value(DCAT.accessURL).identifier == URIRef(permalink) assert r.value(DCAT.bytesSize) == Literal(resource.filesize) assert r.value(DCAT.mediaType) == Literal(resource.mime) assert r.value(DCT.term('format')) == Literal(resource.format) checksum = r.value(SPDX.checksum) assert r.graph.value(checksum.identifier, RDF.type) == SPDX.Checksum assert (r.graph.value(checksum.identifier, SPDX.algorithm) == SPDX.checksumAlgorithm_sha1) assert (checksum.value(SPDX.checksumValue) == Literal(resource.checksum.value))
def test_minimal_resource_fields(self): resource = ResourceFactory() r = resource_to_rdf(resource) graph = r.graph distribs = graph.subjects(RDF.type, DCAT.Distribution) assert isinstance(r, RdfResource) assert len(list(distribs)) == 1 assert graph.value(r.identifier, RDF.type) == DCAT.Distribution assert r.value(DCT.title) == Literal(resource.title) assert r.value(DCAT.downloadURL).identifier == URIRef(resource.url) assert r.value(DCT.issued) == Literal(resource.published) assert r.value(DCT.modified) == Literal(resource.modified)
def test_minimal_resource_fields(self): resource = ResourceFactory() r = resource_to_rdf(resource) graph = r.graph distribs = graph.subjects(RDF.type, DCAT.Distribution) self.assertIsInstance(r, RdfResource) self.assertEqual(len(list(distribs)), 1) self.assertEqual(graph.value(r.identifier, RDF.type), DCAT.Distribution) self.assertEqual(r.value(DCT.title), Literal(resource.title)) self.assertEqual(r.value(DCAT.downloadURL).identifier, URIRef(resource.url)) self.assertEqual(r.value(DCT.issued), Literal(resource.published)) self.assertEqual(r.value(DCT.modified), Literal(resource.modified))