Skip to content

Commit d4b1416

Browse files
committed
Updating joins to considere RMLView as a parent source
1 parent 58a7b73 commit d4b1416

File tree

4 files changed

+122
-6
lines changed

4 files changed

+122
-6
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ You can easily customize your own configurations from the set of features that S
8484

8585
## Version
8686
```
87-
4.7.5.12.13
87+
4.7.5.13
8888
```
8989

9090
## RML-Test Cases

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.7.5.12.13
1+
4.7.5.13

rdfizer/rdfizer/__init__.py

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4056,6 +4056,13 @@ def semantify_xml(triples_map, triples_map_list, output_file_descriptor):
40564056
hash_maker(data[list(data.keys())[0]], triples_map_element,
40574057
predicate_object_map.object_map,"", triples_map_list)
40584058

4059+
elif "RMLView" in triples_map_element.file_format:
4060+
if triples_map_element.data_source in inner_view:
4061+
data = view_projection(view_sources[triples_map_element.data_source],
4062+
view_sources,inner_view[triples_map_element.data_source])
4063+
else:
4064+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
4065+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
40594066
elif triples_map_element.file_format == "XPath":
40604067
with open(str(triples_map_element.data_source),
40614068
"r") as input_file_descriptor:
@@ -4491,6 +4498,7 @@ def semantify_json(triples_map, triples_map_list, delimiter, output_file_descrip
44914498
else:
44924499
i += semantify_json(triples_map, triples_map_list, delimiter, output_file_descriptor, row,
44934500
"$" + iterator.replace(new_iterator[:-1], ""))
4501+
executed = False
44944502
elif "[*]" in tp:
44954503
if tp.split("[*]")[0] in row:
44964504
if isinstance(row[tp.split("[*]")[0]], list):
@@ -4500,6 +4508,7 @@ def semantify_json(triples_map, triples_map_list, delimiter, output_file_descrip
45004508
else:
45014509
i += semantify_json(triples_map, triples_map_list, delimiter, output_file_descriptor, row,
45024510
"$" + iterator.replace(new_iterator[:-1], ""))
4511+
executed = False
45034512
else:
45044513
row = []
45054514
elif "*" == tp:
@@ -5162,6 +5171,13 @@ def semantify_json(triples_map, triples_map_list, delimiter, output_file_descrip
51625171
hash_maker(data_element[list(data_element.keys())[0]],
51635172
triples_map_element, predicate_object_map.object_map,"", triples_map_list)
51645173

5174+
elif "RMLView" in triples_map_element.file_format:
5175+
if triples_map_element.data_source in inner_view:
5176+
data = view_projection(view_sources[triples_map_element.data_source],
5177+
view_sources,inner_view[triples_map_element.data_source])
5178+
else:
5179+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
5180+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
51655181
elif triples_map_element.file_format == "XPath":
51665182
with open(str(triples_map_element.data_source), "r") as input_file_descriptor:
51675183
child_tree = ET.parse(input_file_descriptor)
@@ -5222,6 +5238,13 @@ def semantify_json(triples_map, triples_map_list, delimiter, output_file_descrip
52225238
else:
52235239
hash_maker(data_element[list(data_element.keys())[0]],
52245240
triples_map_element, predicate_object_map.object_map,"", triples_map_list)
5241+
elif "RMLView" in triples_map_element.file_format:
5242+
if triples_map_element.data_source in inner_view:
5243+
data = view_projection(view_sources[triples_map_element.data_source],
5244+
view_sources,inner_view[triples_map_element.data_source])
5245+
else:
5246+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
5247+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
52255248
elif triples_map_element.file_format == "XPath":
52265249
with open(str(triples_map_element.data_source), "r") as input_file_descriptor:
52275250
child_tree = ET.parse(input_file_descriptor)
@@ -6287,6 +6310,14 @@ def semantify_file(triples_map, triples_map_list, delimiter, output_file_descrip
62876310
triples_map_element,
62886311
predicate_object_map.object_map,"", triples_map_list)
62896312

6313+
elif "RMLView" in triples_map_element.file_format:
6314+
if triples_map_element.data_source in inner_view:
6315+
data = view_projection(view_sources[triples_map_element.data_source],
6316+
view_sources,inner_view[triples_map_element.data_source])
6317+
else:
6318+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
6319+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
6320+
62906321
elif triples_map_element.file_format == "XPath":
62916322
with open(str(triples_map_element.data_source),
62926323
"r") as input_file_descriptor:
@@ -6430,6 +6461,14 @@ def semantify_file(triples_map, triples_map_list, delimiter, output_file_descrip
64306461
triples_map_element,
64316462
predicate_object_map.object_map)
64326463

6464+
elif "RMLView" in triples_map_element.file_format:
6465+
if triples_map_element.data_source in inner_view:
6466+
data = view_projection(view_sources[triples_map_element.data_source],
6467+
view_sources,inner_view[triples_map_element.data_source])
6468+
else:
6469+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
6470+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
6471+
64336472
elif triples_map_element.file_format == "XPath":
64346473
with open(str(triples_map_element.data_source),
64356474
"r") as input_file_descriptor:
@@ -7879,6 +7918,13 @@ def semantify_mysql(row, row_headers, triples_map, triples_map_list, output_file
78797918
elif len(data) < 2:
78807919
hash_maker_list(data[list(data.keys())[0]], triples_map_element,
78817920
predicate_object_map.object_map)
7921+
elif "RMLView" in triples_map_element.file_format:
7922+
if triples_map_element.data_source in inner_view:
7923+
data = view_projection(view_sources[triples_map_element.data_source],
7924+
view_sources,inner_view[triples_map_element.data_source])
7925+
else:
7926+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
7927+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
78827928
elif triples_map_element.file_format == "XPath":
78837929
with open(str(triples_map_element.data_source), "r") as input_file_descriptor:
78847930
child_tree = ET.parse(input_file_descriptor)
@@ -7943,7 +7989,13 @@ def semantify_mysql(row, row_headers, triples_map, triples_map_list, output_file
79437989
elif len(data) < 2:
79447990
hash_maker_list(data[list(data.keys())[0]], triples_map_element,
79457991
predicate_object_map.object_map)
7946-
7992+
elif "RMLView" in triples_map_element.file_format:
7993+
if triples_map_element.data_source in inner_view:
7994+
data = view_projection(view_sources[triples_map_element.data_source],
7995+
view_sources,inner_view[triples_map_element.data_source])
7996+
else:
7997+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
7998+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
79477999
elif triples_map_element.file_format == "XPath":
79488000
with open(str(triples_map_element.data_source), "r") as input_file_descriptor:
79498001
child_tree = ET.parse(input_file_descriptor)
@@ -8779,7 +8831,13 @@ def semantify_postgres(row, row_headers, triples_map, triples_map_list, output_f
87798831
data = json.load(input_file_descriptor)
87808832
hash_maker(data[list(data.keys())[0]], triples_map_element,
87818833
predicate_object_map.object_map,"", triples_map_list)
8782-
8834+
elif "RMLView" in triples_map_element.file_format:
8835+
if triples_map_element.data_source in inner_view:
8836+
data = view_projection(view_sources[triples_map_element.data_source],
8837+
view_sources,inner_view[triples_map_element.data_source])
8838+
else:
8839+
data = view_projection(view_sources[triples_map_element.data_source],view_sources,[])
8840+
hash_maker(data, triples_map_element,predicate_object_map.object_map,"", triples_map_list)
87838841
elif triples_map_element.file_format == "XPath":
87848842
with open(str(triples_map_element.data_source), "r") as input_file_descriptor:
87858843
child_tree = ET.parse(input_file_descriptor)

0 commit comments

Comments
 (0)