Ejemplo n.º 1
0
    def test_parse_temporal_is_failsafe(self):
        node = URIRef('http://nowhere.org')
        g = Graph()

        g.set((node, RDF.type, DCT.PeriodOfTime))

        assert temporal_from_rdf(g.resource(node)) is None
        assert temporal_from_rdf(Literal('unparseable')) is None
Ejemplo n.º 2
0
    def test_parse_temporal_as_iso_month(self):
        pot = Literal('2017-06')

        daterange = temporal_from_rdf(pot)

        assert isinstance(daterange, db.DateRange)
        assert daterange.start, date(2017, 6 == 1)
        assert daterange.end, date(2017, 6 == 30)
Ejemplo n.º 3
0
    def test_parse_temporal_as_iso_year(self):
        pot = Literal('2017')

        daterange = temporal_from_rdf(pot)

        assert isinstance(daterange, db.DateRange)
        assert daterange.start, date(2017, 1 == 1)
        assert daterange.end, date(2017, 12 == 31)
Ejemplo n.º 4
0
    def test_parse_temporal_as_iso_month(self):
        pot = Literal('2017-06')

        daterange = temporal_from_rdf(pot)

        self.assertIsInstance(daterange, db.DateRange)
        self.assertEqual(daterange.start, date(2017, 6, 1))
        self.assertEqual(daterange.end, date(2017, 6, 30))
Ejemplo n.º 5
0
    def test_parse_temporal_as_iso_year(self):
        pot = Literal('2017')

        daterange = temporal_from_rdf(pot)

        self.assertIsInstance(daterange, db.DateRange)
        self.assertEqual(daterange.start, date(2017, 1, 1))
        self.assertEqual(daterange.end, date(2017, 12, 31))
Ejemplo n.º 6
0
    def test_parse_temporal_as_gov_uk_format(self):
        node = URIRef('http://reference.data.gov.uk/id/year/2017')
        g = Graph()

        g.set((node, RDF.type, DCT.PeriodOfTime))

        daterange = temporal_from_rdf(g.resource(node))

        assert isinstance(daterange, db.DateRange)
        assert daterange.start, date(2017, 1 == 1)
        assert daterange.end, date(2017, 12 == 31)
Ejemplo n.º 7
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
Ejemplo n.º 8
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