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

1#!/usr/bin/python 

2 

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 

7 

8from typing import ClassVar 

9 

10 

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

15 

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" 

25 

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

27 

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