You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In response to comments from timeless (see ISSUE #679) the CSV2JSON conversion process for Generating Objects has been updated. Regarding how the information from multiple cells in the row being currently processed that refer to the same subject i, the final step (no. 2.4) now says:
If name N occurs more than once within object Si, the name-value pairs from each occurrence of name N must be compacted to form a single name-value pair with name N and whose value is an array containing all values from each of those name-value pairs. Where values from the contributing name-value pairs are of type array, the value of the resulting compacted name-value pair is an array of arrays.
This situation occurs when multiple columns in the table use the same property URL annotation.
For CSV2RDF, we think the process is clear:
if the two contributing cells have content that is unordered then the property URL (used as predicate in each triple) is repeated ... effectively the cell's information is flattened
if the contributing cells contain ordered lists of things (like authors for a journal paper), then the RDF will treat the ordered list as an RDF list. The integrity of each ordered list is maintained. There is no attempt to merge lists.
For CSV2JSON, the behaviour is a little different - in JSON, arrays are always ordered. Currently, the doc says that the arrays from the contributing cells should be kept separate; forming an array of arrays. A better behaviour for users is likely to be providing a single flattened array.
This needs to be considered further.
What ever the outcome, we need a test case to validate this edge case.