Skip to content

Commit 31a5263

Browse files
authored
Merge pull request #140 from meaningfy-ws/feature/TED-4
rml to html
2 parents 8a3dcea + 308f526 commit 31a5263

36 files changed

Lines changed: 126905 additions & 3 deletions

ted_sws/notice_transformer/adapters/rml_mapper.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def execute(self, package_path: Path) -> str:
8888
bash_script = f"cd {package_path} && java -jar {self.rml_mapper_path} -m {package_path / TRANSFORM_PACKAGE_NAME / MAPPINGS_PACKAGE_NAME / '*'} -s {self.get_serialization_format_value()}"
8989
script_result = subprocess.run(bash_script, shell=True, capture_output=True)
9090
error = script_result.stderr.decode('utf-8')
91+
print(error)
9192
if error:
9293
raise Exception(error)
9394
return script_result.stdout.decode('utf-8')
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
import rdflib
22

3+
from ted_sws.core.model.transform import FileResource
4+
5+
6+
# TODO to refactor this to accept only a list of file resorces and move it to core adapters
37

48
class SPARQLRunner:
59
"""
610
Runs a SPARQL query against a rdf file and return the query result
711
"""
8-
def __init__(self, rdf_content: str):
12+
13+
def __init__(self, rdf_content: str = None, files: [FileResource] = None):
914
self.graph = rdflib.Graph()
10-
self.graph.parse(data=rdf_content)
15+
self.rdf_content = rdf_content
16+
self.files = files
17+
18+
def _load_data_into_graph(self):
19+
if self.rdf_content:
20+
self.graph.parse(data=self.rdf_content)
21+
else:
22+
for file in self.files:
23+
self.graph.parse(data=file.file_content)
1124

1225
def query(self, query_object: str):
26+
self._load_data_into_graph()
1327
return self.graph.query(query_object)

ted_sws/rml_to_html/__init__.py

Whitespace-only changes.

ted_sws/rml_to_html/adapters/__init__.py

Whitespace-only changes.

ted_sws/rml_to_html/entrypoints/__init__.py

Whitespace-only changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
try:
2+
import importlib.resources as pkg_resources
3+
except ImportError:
4+
# Try backported to PY<37 `importlib_resources`.
5+
import importlib_resources as pkg_resources
6+
7+
import ted_sws.rml_to_html.resources.queries
8+
9+
10+
def get_sparql_query(query_file_name: str) -> str:
11+
"""
12+
get a predefined SPARQL query by reference to file name
13+
"""
14+
with pkg_resources.path(queries, query_file_name) as path:
15+
return path.read_text()

ted_sws/rml_to_html/resources/queries/__init__.py

Whitespace-only changes.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
prefix rr: <http://www.w3.org/ns/r2rml#>
2+
prefix rml: <http://semweb.mmlab.be/ns/rml#>
3+
4+
SELECT distinct ?tmLabel ?tmComment
5+
WHERE {
6+
values (?tripleMap){
7+
(<$tripleMapUri>)
8+
}
9+
?tripleMap a rr:TriplesMap;
10+
optional{?tripleMap rdfs:label ?tmLabel}
11+
optional{?tripleMap rdfs:comment ?tmComment}
12+
13+
}
14+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
prefix rml: <http://semweb.mmlab.be/ns/rml#>
2+
prefix rr: <http://www.w3.org/ns/r2rml#>
3+
4+
SELECT distinct ?source
5+
WHERE {
6+
values (?tripleMap){
7+
(<$tripleMapUri>)}
8+
9+
10+
?tripleMap a rr:TriplesMap ;
11+
rml:logicalSource / rml:source ?source ;
12+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
prefix rml: <http://semweb.mmlab.be/ns/rml#>
2+
prefix rr: <http://www.w3.org/ns/r2rml#>
3+
4+
SELECT distinct ?predicate ?reference ?referenceLanguageMap ?parentTripleMap ?joinConditionChild ?joinConditionParent ?template ?templateTermType
5+
WHERE {
6+
values (?tripleMap){
7+
(<$tripleMapUri>)
8+
#(<http://data.europa.eu/a4g/mapping/sf-rml/Lot>)
9+
}
10+
11+
?tripleMap a rr:TriplesMap ;
12+
rr:predicateObjectMap ?pom .
13+
14+
optional{
15+
?pom rr:predicate ?predicate ;
16+
rr:objectMap / rml:reference ?reference .
17+
}
18+
optional{
19+
?pom rr:predicate ?predicate ;
20+
rr:objectMap / rml:languageMap / rml:reference ?referenceLanguageMap .
21+
}
22+
23+
optional{
24+
?pom rr:predicate ?predicate ;
25+
rr:objectMap / rr:parentTriplesMap ?parentTripleMap.
26+
}
27+
28+
optional{
29+
?pom rr:predicate ?predicate ;
30+
rr:objectMap / rr:joinCondition / rr:child ?joinConditionChild;
31+
rr:objectMap / rr:joinCondition / rr:parent ?joinConditionParent.
32+
}
33+
34+
optional{
35+
?pom rr:predicate ?predicate ;
36+
rr:objectMap / rr:template ?template .
37+
}
38+
39+
optional{
40+
?pom rr:predicate ?predicate ;
41+
rr:objectMap / rr:termType ?templateTermType .
42+
}
43+
44+
}

0 commit comments

Comments
 (0)