Coverage for src / time_agnostic_library / prov_entity.py: 100%
20 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-03-21 11:54 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-03-21 11:54 +0000
1#!/usr/bin/python
3# SPDX-FileCopyrightText: 2016 Silvio Peroni <essepuntato@gmail.com>
4# SPDX-FileCopyrightText: 2021-2026 Arcangelo Massari <arcangelo.massari@unibo.it>
5#
6# SPDX-License-Identifier: ISC
8from typing import ClassVar
11class ProvEntity:
12 PROV: ClassVar[str] = "http://www.w3.org/ns/prov#"
13 DCTERMS: ClassVar[str] = "http://purl.org/dc/terms/"
14 OCO: ClassVar[str] = "https://w3id.org/oc/ontology/"
16 iri_entity: ClassVar[str] = PROV + "Entity"
17 iri_generated_at_time: ClassVar[str] = PROV + "generatedAtTime"
18 iri_invalidated_at_time: ClassVar[str] = PROV + "invalidatedAtTime"
19 iri_specialization_of: ClassVar[str] = PROV + "specializationOf"
20 iri_was_derived_from: ClassVar[str] = PROV + "wasDerivedFrom"
21 iri_had_primary_source: ClassVar[str] = PROV + "hadPrimarySource"
22 iri_was_attributed_to: ClassVar[str] = PROV + "wasAttributedTo"
23 iri_description: ClassVar[str] = DCTERMS + "description"
24 iri_has_update_query: ClassVar[str] = OCO + "hasUpdateQuery"
26 _prov_properties: ClassVar[tuple[str, ...]] = ()
28 @classmethod
29 def get_prov_properties(cls) -> tuple[str, ...]:
30 if not cls._prov_properties:
31 cls._prov_properties = (
32 cls.iri_entity, cls.iri_generated_at_time, cls.iri_invalidated_at_time,
33 cls.iri_specialization_of, cls.iri_was_derived_from, cls.iri_had_primary_source,
34 cls.iri_was_attributed_to, cls.iri_description, cls.iri_has_update_query
35 )
36 return cls._prov_properties