Coverage for heritrace / uri_generator / default_uri_generator.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-21 12:56 +0000

1# SPDX-FileCopyrightText: 2024-2025 Arcangelo Massari <arcangelo.massari@unibo.it> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5import uuid 

6 

7from rdflib import URIRef 

8 

9from heritrace.uri_generator.uri_generator import URIGenerator 

10 

11 

12class DefaultURIGenerator(URIGenerator): 

13 def __init__(self, base_iri: str): 

14 self.base_iri = base_iri 

15 

16 def generate_uri(self, entity_type: str | None = None, context_data: dict = None) -> str: 

17 return URIRef(f"{self.base_iri}/{uuid.uuid4().hex}") 

18 

19 def initialize_counters(self, sparql) -> None: 

20 """ 

21 Initialize counters for entity types supported by this URI generator. 

22 Since DefaultURIGenerator uses UUIDs, no counter initialization is needed. 

23 

24 :param sparql: SPARQLWrapper instance to execute queries on the dataset 

25 :return: None 

26 """ 

27 pass