Skip to content

Commit 3a9af0c

Browse files
committed
wip
1 parent b86fa51 commit 3a9af0c

5 files changed

Lines changed: 53 additions & 9 deletions

File tree

ted_sws/rml_to_html/resources/queries/get_logical_source.rq

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
prefix rml: <http://semweb.mmlab.be/ns/rml#>
22
prefix rr: <http://www.w3.org/ns/r2rml#>
33

4-
SELECT ?tripleMap ?source
4+
SELECT distinct ?source
55
WHERE {
66
values (?tripleMap){
7-
(<http://data.europa.eu/a4g/mapping/sf-rml/ContactPoint>)}
7+
(<$tripleMapUri>)}
88

99

1010
?tripleMap a rr:TriplesMap ;

ted_sws/rml_to_html/resources/queries/get_predicate_object_map.rq

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ prefix rr: <http://www.w3.org/ns/r2rml#>
44
SELECT ?predicate ?reference ?referenceLanguageMap ?parentTripleMap ?joinConditionChild ?joinConditionParent ?template ?templateTermType
55
WHERE {
66
values (?tripleMap){
7-
({tripleMapUri})
7+
(<$tripleMapUri>)
88
#(<http://data.europa.eu/a4g/mapping/sf-rml/Lot>)
99
}
1010

ted_sws/rml_to_html/resources/queries/get_subject_map.rq

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
prefix epo: <http://data.europa.eu/a4g/ontology#>
22
prefix rr: <http://www.w3.org/ns/r2rml#>
33

4-
SELECT ?tripleMap ?template ?cls
4+
SELECT distinct ?template ?cls
55
WHERE {
66
values (?tripleMap){
7-
(<http://data.europa.eu/a4g/mapping/sf-rml/ContactPoint>)}
7+
(<$tripleMapUri>)}
88

99

1010
?tripleMap a rr:TriplesMap ;

ted_sws/rml_to_html/services/rml_to_html.py

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,42 @@
11
import json
2+
from string import Template
23

34
from ted_sws.data_manager.adapters.repository_abc import MappingSuiteRepositoryABC
45
from ted_sws.notice_validator.adapters.sparql_runner import SPARQLRunner
56
from ted_sws.rml_to_html.resources.query_registry import QueryRegistry
67

78

9+
def query_uri_substitution(query: str, triple_map_uri: str) -> str:
10+
"""
11+
Method to replace triple map URI in the SPARQL query
12+
:param query:
13+
:param triple_map_uri:
14+
:return:
15+
"""
16+
return Template(query).substitute(tripleMapUri=triple_map_uri)
17+
18+
19+
def get_query_results(query: str, sparql_runner: SPARQLRunner) -> dict:
20+
return json.loads(
21+
sparql_runner.query(query_object=query).serialize(
22+
format="json").decode("utf-8"))["results"]["bindings"]
23+
24+
25+
def run_queries_for_triple_map(triple_map_uri: str, query_registry: QueryRegistry, sparql_runner: SPARQLRunner) -> dict:
26+
return {
27+
"triple_map_uri":triple_map_uri,
28+
"logical_source": get_query_results(
29+
query=query_uri_substitution(query=query_registry.LOGICAL_SOURCE, triple_map_uri=triple_map_uri),
30+
sparql_runner=sparql_runner),
31+
"subject_map": get_query_results(
32+
query_uri_substitution(query=query_registry.SUBJECT_MAP, triple_map_uri=triple_map_uri),
33+
sparql_runner=sparql_runner),
34+
"predicate_object_map": get_query_results(
35+
query=query_uri_substitution(query=query_registry.PREDICATE_OBJECT_MAP, triple_map_uri=triple_map_uri),
36+
sparql_runner=sparql_runner)
37+
38+
}
39+
840
def rml_files_to_html_report(mapping_suite_identifier: str,mapping_suite_repository: MappingSuiteRepositoryABC):
941
mapping_suite_package = mapping_suite_repository.get(reference=mapping_suite_identifier)
1042
if mapping_suite_package is None:
@@ -16,6 +48,18 @@ def rml_files_to_html_report(mapping_suite_identifier: str,mapping_suite_reposit
1648
triple_maps = json.loads(sparql_runner.query(query_object=query_registry.TRIPLE_MAP).serialize(
1749
format="json").decode("utf-8"))
1850
triple_maps_uris = [triple_map['tripleMap']["value"] for triple_map in triple_maps["results"]["bindings"]]
19-
for triple_map_uri in triple_maps_uris
51+
list_of_triple_maps = {}
52+
for triple_map_uri in triple_maps_uris[:2]:
53+
triple_map_details = {}
54+
55+
query = query_uri_substitution(query=query_registry.LOGICAL_SOURCE, triple_map_uri=triple_map_uri)
56+
logical_source = json.loads(
57+
sparql_runner.query(query_object=query).serialize(
58+
format="json").decode("utf-8"))
59+
triple_map_details["logical_source"] = logical_source["results"]["bindings"]
60+
list_of_triple_maps[triple_map_uri] = triple_map_details
61+
62+
63+
2064

21-
return triple_maps
65+
return list_of_triple_maps

tests/unit/rml_to_html/test_rml_files_to_html.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ def test_rml_files_to_html_report(file_system_repository_path):
66
mapping_suite_repository = MappingSuiteRepositoryInFileSystem(repository_path=file_system_repository_path)
77
triple_maps = rml_files_to_html_report(mapping_suite_identifier="test_package",mapping_suite_repository=mapping_suite_repository)
88

9-
triple_maps_uris = [triple_map['tripleMap']["value"] for triple_map in triple_maps["results"]["bindings"]]
10-
print(triple_maps_uris)
9+
# triple_maps_uris = [triple_map['tripleMap']["value"] for triple_map in triple_maps["results"]["bindings"]]
10+
print(triple_maps)

0 commit comments

Comments
 (0)