Пример #1
0
    def test_build_with_validity_as_date(self):
        level = 'level'
        code = 'code'
        validity = faker.past_date()

        geoid = geoids.build(level, code, validity)

        assert geoid == 'level:code@{0:%Y-%m-%d}'.format(validity)
Пример #2
0
    def test_build_with_validity_as_date(self):
        level = 'level'
        code = 'code'
        validity = faker.past_date()

        geoid = geoids.build(level, code, validity)

        assert geoid == 'level:code@{0:%Y-%m-%d}'.format(validity)
Пример #3
0
    def test_from_zone_with_validity(self):
        level = 'level'
        code = 'code'
        start = faker.past_date()
        validity = {'start': start, 'end': geoids.END_OF_TIME}
        zone = GeoZone(level=level, code=code, validity=validity)

        geoid = geoids.from_zone(zone)

        assert geoid == 'level:code@{0:%Y-%m-%d}'.format(start)
Пример #4
0
    def test_from_zone_with_validity(self):
        level = 'level'
        code = 'code'
        start = faker.past_date()
        validity = {'start': start, 'end': geoids.END_OF_TIME}
        zone = GeoZone(level=level, code=code, validity=validity)

        geoid = geoids.from_zone(zone)

        assert geoid == 'level:code@{0:%Y-%m-%d}'.format(start)
Пример #5
0
    def test_parse_temporal_as_iso_interval(self):
        start = faker.past_date(start_date='-30d')
        end = faker.future_date(end_date='+30d')

        pot = Literal('{0}/{1}'.format(start.isoformat(), end.isoformat()))

        daterange = temporal_from_rdf(pot)

        assert isinstance(daterange, db.DateRange)
        assert daterange.start == start
        assert daterange.end == end
Пример #6
0
    def test_temporal_coverage(self):
        start = faker.past_date(start_date='-30d')
        end = faker.future_date(end_date='+30d')
        temporal_coverage = db.DateRange(start=start, end=end)
        dataset = DatasetFactory(temporal_coverage=temporal_coverage)

        d = dataset_to_rdf(dataset)

        pot = d.value(DCT.temporal)

        assert pot.value(RDF.type).identifier == DCT.PeriodOfTime
        assert pot.value(SCHEMA.startDate).toPython() == start
        assert pot.value(SCHEMA.endDate).toPython() == end
Пример #7
0
    def test_parse_temporal_as_schema_format(self):
        node = BNode()
        g = Graph()
        start = faker.past_date(start_date='-30d')
        end = faker.future_date(end_date='+30d')

        g.set((node, RDF.type, DCT.PeriodOfTime))
        g.set((node, SCHEMA.startDate, Literal(start)))
        g.set((node, SCHEMA.endDate, Literal(end)))

        daterange = temporal_from_rdf(g.resource(node))

        assert isinstance(daterange, db.DateRange)
        assert daterange.start == start
        assert daterange.end == end
Пример #8
0
    def test_all_fields(self):
        uri = 'https://test.org/dataset'
        node = URIRef(uri)
        g = Graph()

        id = faker.uuid4()
        title = faker.sentence()
        acronym = faker.word()
        description = faker.paragraph()
        tags = faker.words(nb=3)
        start = faker.past_date(start_date='-30d')
        end = faker.future_date(end_date='+30d')
        g.set((node, RDF.type, DCAT.Dataset))
        g.set((node, DCT.identifier, Literal(id)))
        g.set((node, DCT.title, Literal(title)))
        g.set((node, SKOS.altLabel, Literal(acronym)))
        g.set((node, DCT.description, Literal(description)))
        g.set((node, DCT.accrualPeriodicity, FREQ.daily))
        pot = BNode()
        g.add((node, DCT.temporal, pot))
        g.set((pot, RDF.type, DCT.PeriodOfTime))
        g.set((pot, SCHEMA.startDate, Literal(start)))
        g.set((pot, SCHEMA.endDate, Literal(end)))
        for tag in tags:
            g.add((node, DCAT.keyword, Literal(tag)))

        dataset = dataset_from_rdf(g)
        dataset.validate()

        assert isinstance(dataset, Dataset)
        assert dataset.title == title
        assert dataset.acronym == acronym
        assert dataset.description == description
        assert dataset.frequency == 'daily'
        assert set(dataset.tags) == set(tags)
        assert isinstance(dataset.temporal_coverage, db.DateRange)
        assert dataset.temporal_coverage.start == start
        assert dataset.temporal_coverage.end == end

        extras = dataset.extras
        assert 'dct:identifier' in extras
        assert extras['dct:identifier'] == id
        assert 'uri' in extras
        assert extras['uri'] == uri
Пример #9
0
    def test_all_fields(self):
        uri = 'https://test.org/dataset'
        node = URIRef(uri)
        g = Graph()

        id = faker.uuid4()
        title = faker.sentence()
        acronym = faker.word()
        description = faker.paragraph()
        tags = faker.words(nb=3)
        start = faker.past_date(start_date='-30d')
        end = faker.future_date(end_date='+30d')
        g.set((node, RDF.type, DCAT.Dataset))
        g.set((node, DCT.identifier, Literal(id)))
        g.set((node, DCT.title, Literal(title)))
        g.set((node, SKOS.altLabel, Literal(acronym)))
        g.set((node, DCT.description, Literal(description)))
        g.set((node, DCT.accrualPeriodicity, FREQ.daily))
        pot = BNode()
        g.add((node, DCT.temporal, pot))
        g.set((pot, RDF.type, DCT.PeriodOfTime))
        g.set((pot, SCHEMA.startDate, Literal(start)))
        g.set((pot, SCHEMA.endDate, Literal(end)))
        for tag in tags:
            g.add((node, DCAT.keyword, Literal(tag)))

        dataset = dataset_from_rdf(g)
        dataset.validate()

        self.assertIsInstance(dataset, Dataset)
        self.assertEqual(dataset.title, title)
        self.assertEqual(dataset.acronym, acronym)
        self.assertEqual(dataset.description, description)
        self.assertEqual(dataset.frequency, 'daily')
        self.assertEqual(set(dataset.tags), set(tags))
        self.assertIsInstance(dataset.temporal_coverage, db.DateRange)
        self.assertEqual(dataset.temporal_coverage.start, start)
        self.assertEqual(dataset.temporal_coverage.end, end)

        extras = dataset.extras
        self.assertIn('dct:identifier', extras)
        self.assertEqual(extras['dct:identifier'], id)
        self.assertIn('uri', extras)
        self.assertEqual(extras['uri'], uri)