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

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 

5 

6from typing import ClassVar 

7 

8 

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/" 

13 

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" 

23 

24 _prov_properties: ClassVar[tuple[str, ...]] = () 

25 

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