I am trying to import a CSV where some columns contain an URL reference. For example a Geonames URI and placename: “https://sws.geonames.org/2755420/ Gouda”. But, some of the values only contain a text because for some placenames there is no Geonames URI. For example: “Goverwelle”. The importer in this case treats the text as URI (with no label).
In my resource template I have defined the placename as “Text” or “URI”. Similar, I have some properties defined as “Text” or “Item”.
Is it possible to better handle “mixed datatypes in column” in CSV import?
I had a brainwave and found a workable solution which requires no change to Omeka-S:
I defined in my CSV two columns for the placename, one placename-text and one placename-uri. If I have an URI for a place I put it in the placename-uri field and empty the placename-text field. If I have no URI for a place the placename-uri is empty and the placename-text field holds a (text)value.
In the CSV import I map both fields to the same target property (schema:birthPlace in this case), where I define the data type of placename-text as a Text and placename-uri as an URI data type. Because in each row only one field has a value (Text or URI) the imported value has the right datatype!