-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encoding of geographical names #28
Comments
One solution could be to use a class as range for properties with geographic name as value type. That would serve the case where complex information is available. For simple cases, when encoding instance data, and where a geographical name shall directly (as a literal) provide a label for an individual resource, that label could be encoded using rdfs:label or locn:geographicName. So essentially, we could support both cases. |
There are indeed 2 valid options: using a class as value for Note that the current spec seems to suggest another option (taken from locn):
I hope they just had a poor choice of words in this, since the datatype in RDF terms is for example "xsd:date". You could use a skos:Concept as datatype, and add extra information to that. But that would be a horrible way to add data to a Literal. So, considering the two options: I suggest sticking to Literals, since most kinds of "complicated" data will be in fact information about the named entity. For example:
rather than
|
Thanks for your feedback.
|
In my experience, letting a property accept both literals and classes as it's range, will pose problems with tools using it. I believe reasoners require the ObjectProperty/DatatypeProperty distinction in order to work. Looking at the link in your second point does makes some things clear. The concept isn't being used as a datatype (a specific term in RDF), but as range. That does make me wonder what the point is of making it subclass |
Indeed, a mix of literal and class as range of a property is not desirable. The intent described in the first point of my previous comment is that someone who converts a given INSPIRE application schema into an ontology has a choice: If GeographicalNames in actual data for that application schema are always simple or if just the simple name is needed, then the UML type "GeographicalName" can be mapped to rdfs:Literal, meaning that all properties in the application schema with value type GeographicalName would have rdfs:Literal has range. Otherwise, use a class (e.g. the one created by encoding the "Geographical Names" application schema) as range of such properties. The intent for aligning class gn:GeographicName with skos:Concept is to make it compatible with the ISA Programme Location Core Vocabulary (LOCN), more specifically the property locn:geographicName (see #29). |
Description
The INSPIRE data type "GeographicalName" supports the provision of multiple spellings for a name, a link to an audio file for pronunciation, and more. Applications often simply just need the name in one spelling, potentially with indication of the language. In such cases, "GeographicalName" can be mapped to a simple rdfs:Literal.
On the other hand, if complex information is available for a geographical name, instead of just a simple label, then encoding the name as an individual resource can be useful:
Discussion Item
Should a property with geographical name as value type be encoded with a literal or with a class as range? Are there suitable alternatives?
The text was updated successfully, but these errors were encountered: