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