Coverage report: 99%

Files Functions Classes

coverage.py v7.15.4, created at 2026-09-03 21:17 +0000

File function   statements missing excluded   coverage
src/time_agnostic_library/__init__.py (no function)   0 0 0   100%
src/time_agnostic_library/agnostic_entity.py _unescape_literal   3 0 0   100%
src/time_agnostic_library/agnostic_entity.py _normalize_literal   2 0 0   100%
src/time_agnostic_library/agnostic_entity.py _regex_match_to_n3   16 0 0   100%
src/time_agnostic_library/agnostic_entity.py _find_matching_close_brace   12 0 0   100%
src/time_agnostic_library/agnostic_entity.py _parse_graph_blocks   17 0 0   100%
src/time_agnostic_library/agnostic_entity.py _find_next_operation   4 0 0   100%
src/time_agnostic_library/agnostic_entity.py _fast_parse_update   15 1 0   93%
src/time_agnostic_library/agnostic_entity.py _apply_inverse_update   10 0 0   100%
src/time_agnostic_library/agnostic_entity.py _apply_update_ops   11 0 0   100%
src/time_agnostic_library/agnostic_entity.py _compose_update_queries   5 0 0   100%
src/time_agnostic_library/agnostic_entity.py _iter_working_states   14 0 0   100%
src/time_agnostic_library/agnostic_entity.py _materialize_versions   1 0 0   100%
src/time_agnostic_library/agnostic_entity.py _extract_snapshot_update_queries   9 0 0   100%
src/time_agnostic_library/agnostic_entity.py _find_related_object_uris   9 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.__init__   7 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.get_history   11 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.get_histories_by_entity   12 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_all_related_entities_histories   11 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_related_objects_recursively   14 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_merged_entities_recursively   12 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_reverse_relations_recursively   12 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._get_merged_histories   26 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.get_state_at_time   5 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.get_delta   19 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_all_related_entities_states_at_time   10 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_related_objects_states_at_time   13 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_merged_entities_states_at_time   11 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._collect_reverse_relations_states_at_time   11 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._get_merged_histories_at_time   33 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._get_entity_state_at_time   38 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._include_prov_metadata   28 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._get_entity_current_state   27 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._get_old_graphs   20 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity.iter_versions   14 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._query_dataset   6 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._query_provenance   4 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._find_merged_entities   8 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._find_reverse_related_entities   10 0 0   100%
src/time_agnostic_library/agnostic_entity.py AgnosticEntity._add_reverse_related_entities_from_query   7 0 0   100%
src/time_agnostic_library/agnostic_entity.py _filter_timestamps_by_interval   24 0 0   100%
src/time_agnostic_library/agnostic_entity.py _select_interval_snapshots   12 0 0   100%
src/time_agnostic_library/agnostic_entity.py (no function)   61 0 0   100%
src/time_agnostic_library/agnostic_query.py _reject   2 0 0   100%
src/time_agnostic_library/agnostic_query.py _reject_unsupported   3 0 0   100%
src/time_agnostic_library/agnostic_query.py _contains_algebra_node   3 0 0   100%
src/time_agnostic_library/agnostic_query.py _is_unsupported_path   3 0 0   100%
src/time_agnostic_library/agnostic_query.py _n3_triples   9 0 0   100%
src/time_agnostic_library/agnostic_query.py _reject_filter_in_optional   2 0 0   100%
src/time_agnostic_library/agnostic_query.py _run_in_parallel   8 0 0   100%
src/time_agnostic_library/agnostic_query.py _reconstruct_entity_worker   6 0 0   100%
src/time_agnostic_library/agnostic_query.py _normalize_constant   9 0 0   100%
src/time_agnostic_library/agnostic_query.py _pattern_constants   2 0 0   100%
src/time_agnostic_library/agnostic_query.py _pattern_search_terms   1 0 0   100%
src/time_agnostic_library/agnostic_query.py _fuseki_search_phrases   7 0 0   100%
src/time_agnostic_library/agnostic_query.py _escape_search_term   4 0 0   100%
src/time_agnostic_library/agnostic_query.py _expected_quad_slots   2 0 0   100%
src/time_agnostic_library/agnostic_query.py _matching_update_quads   2 0 0   100%
src/time_agnostic_library/agnostic_query.py _quad_filter_for_pattern   3 0 0   100%
src/time_agnostic_library/agnostic_query.py _quad_filter_for_pattern.matches   1 0 0   100%
src/time_agnostic_library/agnostic_query.py _sparql_values   1 0 0   100%
src/time_agnostic_library/agnostic_query.py _wrap_in_graph   3 0 0   100%
src/time_agnostic_library/agnostic_query.py _batch_query_provenance_snapshots   11 0 0   100%
src/time_agnostic_library/agnostic_query.py _sparql_filter_in   1 0 0   100%
src/time_agnostic_library/agnostic_query.py _batch_query_dataset_triples   23 0 0   100%
src/time_agnostic_library/agnostic_query.py _reconstruct_at_time_as_sets   12 0 0   100%
src/time_agnostic_library/agnostic_query.py _match_single_pattern   22 2 0   91%
src/time_agnostic_library/agnostic_query.py _index_quads_by_subject   7 0 0   100%
src/time_agnostic_library/agnostic_query.py _merge_entity_bindings   15 0 0   100%
src/time_agnostic_library/agnostic_query.py _binding_key   1 0 0   100%
src/time_agnostic_library/agnostic_query.py _bag_difference   8 0 0   100%
src/time_agnostic_library/agnostic_query.py _states_at   10 0 0   100%
src/time_agnostic_library/agnostic_query.py _build_solution_delta   17 2 0   88%
src/time_agnostic_library/agnostic_query.py AgnosticQuery.__init__   22 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._query_adjacent_merge_events   9 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._expand_entities_with_merges   27 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._entity_aliases   1 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._expand_triple_aliases   6 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._load_provenance   18 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery.__init_text_index   12 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._process_query   18 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._collect_patterns   17 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._collect_triples_flat   13 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._rebuild_relevant_graphs   14 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._is_isolated   8 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._there_is_transitive_closure   9 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._rebuild_relevant_entity   8 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._reconstruct_entity_state   6 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._merge_entity_result   6 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._get_present_entities   4 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._get_present_entities_exact   8 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._is_a_new_triple   5 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._get_query_to_update_queries   5 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery.get_full_text_search   19 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._find_entity_uris_in_update_queries   2 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._find_entity_uris_in_update_queries_exact   24 1 0   96%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._find_entities_in_update_queries   12 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._term_matches   5 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._solve_variables   9 1 0   89%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._there_are_variables   5 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._explicit_solvable_variables   26 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._align_snapshots   19 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._update_vars_to_explicit   20 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._get_vars_to_explicit_by_time   9 0 0   100%
src/time_agnostic_library/agnostic_query.py AgnosticQuery._is_a_dead_end   1 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery.__init__   2 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._rebuild_relevant_graphs   12 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._discover_entities_parallel   8 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._rebuild_vm_batch   19 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._extract_bindings   24 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._left_join   17 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._try_match   11 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery._rebuild_streaming   38 0 0   100%
src/time_agnostic_library/agnostic_query.py VersionQuery.run_agnostic_query   18 0 0   100%
src/time_agnostic_library/agnostic_query.py DeltaQuery.__init__   1 0 0   100%
src/time_agnostic_library/agnostic_query.py DeltaQuery._rebuild_relevant_graphs   5 0 0   100%
src/time_agnostic_library/agnostic_query.py DeltaQuery._reported_merge_events   3 0 0   100%
src/time_agnostic_library/agnostic_query.py DeltaQuery.run_agnostic_query   4 0 0   100%
src/time_agnostic_library/agnostic_query.py get_insert_query   4 0 0   100%
src/time_agnostic_library/agnostic_query.py (no function)   111 0 0   100%
src/time_agnostic_library/ocdm_converter.py parse_ntriples_line   76 0 0   100%
src/time_agnostic_library/ocdm_converter.py extract_subject_uri   3 0 0   100%
src/time_agnostic_library/ocdm_converter.py _open_ntriples   3 0 0   100%
src/time_agnostic_library/ocdm_converter.py _open_for_writing   3 0 0   100%
src/time_agnostic_library/ocdm_converter.py read_ntriples_file   7 0 0   100%
src/time_agnostic_library/ocdm_converter.py group_triples_by_subject   5 0 0   100%
src/time_agnostic_library/ocdm_converter.py _read_and_group   18 0 0   100%
src/time_agnostic_library/ocdm_converter.py _format_timestamp   1 0 0   100%
src/time_agnostic_library/ocdm_converter.py _build_update_query   8 0 0   100%
src/time_agnostic_library/ocdm_converter.py _escape_sparql_for_nquads   5 0 0   100%
src/time_agnostic_library/ocdm_converter.py _ProvenanceWriter.__init__   6 0 0   100%
src/time_agnostic_library/ocdm_converter.py _ProvenanceWriter.created   7 0 0   100%
src/time_agnostic_library/ocdm_converter.py _ProvenanceWriter.changed   12 0 0   100%
src/time_agnostic_library/ocdm_converter.py _ProvenanceWriter.finish   3 0 0   100%
src/time_agnostic_library/ocdm_converter.py OCDMConverter.__init__   3 0 0   100%
src/time_agnostic_library/ocdm_converter.py OCDMConverter.convert_from_ic   22 0 0   100%
src/time_agnostic_library/ocdm_converter.py OCDMConverter.convert_from_cb   22 0 0   100%
src/time_agnostic_library/ocdm_converter.py OCDMConverter._open_provenance   5 0 0   100%
src/time_agnostic_library/ocdm_converter.py OCDMConverter._write_dataset   4 0 0   100%
src/time_agnostic_library/ocdm_converter.py (no function)   36 0 0   100%
src/time_agnostic_library/prov_entity.py ProvEntity.get_prov_properties   3 0 0   100%
src/time_agnostic_library/prov_entity.py (no function)   17 0 0   100%
src/time_agnostic_library/sparql.py _get_client   7 0 0   100%
src/time_agnostic_library/sparql.py _close_all_clients   4 0 0   100%
src/time_agnostic_library/sparql.py _escape_n3   1 0 0   100%
src/time_agnostic_library/sparql.py _binding_to_n3   10 0 0   100%
src/time_agnostic_library/sparql.py _find_closing_quote   11 0 0   100%
src/time_agnostic_library/sparql.py _unescape_n3   19 0 0   100%
src/time_agnostic_library/sparql.py _parse_n3_literal   5 0 0   100%
src/time_agnostic_library/sparql.py _n3_value   6 0 0   100%
src/time_agnostic_library/sparql.py _n3_to_binding   10 0 0   100%
src/time_agnostic_library/sparql.py Sparql.__init__   5 0 0   100%
src/time_agnostic_library/sparql.py Sparql._client   4 0 0   100%
src/time_agnostic_library/sparql.py Sparql.run_select_query   6 0 0   100%
src/time_agnostic_library/sparql.py Sparql._get_results_from_files   18 0 0   100%
src/time_agnostic_library/sparql.py Sparql._get_results_from_triplestores   7 0 0   100%
src/time_agnostic_library/sparql.py Sparql._format_result_value   10 0 0   100%
src/time_agnostic_library/sparql.py Sparql.run_select_to_quad_set   14 0 0   100%
src/time_agnostic_library/sparql.py Sparql.run_ask_query   4 0 0   100%
src/time_agnostic_library/sparql.py Sparql._get_tuples_set   9 0 0   100%
src/time_agnostic_library/sparql.py (no function)   34 0 0   100%
src/time_agnostic_library/support.py _nt_match_to_n3   9 0 0   100%
src/time_agnostic_library/support.py generate_config_file   12 0 0   100%
src/time_agnostic_library/support.py _cached_parse   6 0 0   100%
src/time_agnostic_library/support.py convert_to_datetime   6 1 0   83%
src/time_agnostic_library/support.py _strip_literal_datatype   14 0 0   100%
src/time_agnostic_library/support.py _to_nt_sorted_list   7 0 0   100%
src/time_agnostic_library/support.py _to_dict_of_nt_sorted_lists   8 0 0   100%
src/time_agnostic_library/support.py _nt_list_to_quad_set   8 0 0   100%
src/time_agnostic_library/support.py _to_dict_of_quad_sets   8 0 0   100%
src/time_agnostic_library/support.py (no function)   18 0 0   100%
Total     1985 8 0   99%

No items found using the specified filter.