Skip to content
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

aliases #1

Open
carueda opened this issue Jul 29, 2014 · 5 comments
Open

aliases #1

carueda opened this issue Jul 29, 2014 · 5 comments
Assignees

Comments

@carueda
Copy link
Member

carueda commented Jul 29, 2014

Determine and implement an appropriate way to capture the <alias> entries into the RDF representation.

@graybeal
Copy link
Member

Re (1), right now we do not capture the aliases. We can add this capability; the question is whether these should be type Standard_Name with a property indicating they are aliases, or a different type, like Standard_Name_Alias? Because CF considers aliases deprecated, I propose we capture them as a different type (perhaps with a more distinct type name).

With aliases added, we must decide how they should be involved in mappings. There will be a property (replacedByStandardName?) relating the alias to the corresponding Standard_Name, and so an inverse property also. But I don't think the mapping inferences should be made to the aliases; rather, someone who wants to learn about related aliases should find them by explicitly query for aliases that are replaced by the matching standard names).

This whole topic introduces the issue of versioning, because a mapped Standard Name may be turned into an alias in a subsequent version of CF. But I'm not able to think through that quite yet.

@carueda
Copy link
Member Author

carueda commented Jul 29, 2014

For the sake of simplicity (yet, without compromising utility, at least at some basic level), could we just adopt an approach like the following:

  • capture those aliases also as :Standard_Name instances linked to their associated names via owl:sameAs properties. We will not need to repeat information, just establish the sameAs association, for example:
:station_description
      owl:sameAs  :platform_name

And we just delegate to the inference engine at hand, either the one at the ORR, but in general, to any others depending on user needs, the exploitation of the entailments based on the sameAs semantics.

Advantages:

  • simple to implement from our side
  • we put the actual burden on users that for some reason are linking to the aliases (which are BTW already declared "deprecated")
  • if a "primary" name gets declared "alias" (that is, deprecated), we will not need to do anything because we are not making any distinction in the RDF representation.

@graybeal
Copy link
Member

I thought about that, it is appealing in some ways. Yet I think it breaks the presumption of many users, namely that we are presenting the authentic list of approved CF standard names. Using that approach, a query for standard names will return all sorts of names that are, in fact, deprecated. (Yes, it will be obvious in some ways that they are not 'complete', but I think any implication that they are real standard_names is not good. I mean, the NVS makes them into a wholly separate list, If I Am Not Mistaken.)

@carueda
Copy link
Member Author

carueda commented Jul 29, 2014

Good point. One next simple approach: introduce a :hasAlias property for the associated alias strings. Those aliases won't have direct URIs for eventual self-resolvability, but this would perhaps be just fine (besides, given an alias (string), the corresponding info can still be retrieved via query.)

@carueda
Copy link
Member Author

carueda commented Nov 20, 2015

This is the response for the alias surface_temperature_where_land from NVS , which is captured in http://vocab.nerc.ac.uk/collection/P07/current/CFSN0227/ :

<?xml version="1.0" ?>
<?xml-stylesheet href="/VocabV2/Concept2Html.xsl" type="text/xsl" media="screen"?>
<rdf:RDF xmlns:dc="http://purl.org/dc/terms/" xmlns:dce="http://purl.org/dc/elements/1.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:void="http://rdfs.org/ns/void#">

    <skos:Concept rdf:about="http://vocab.nerc.ac.uk/collection/P07/current/CFSN0227/">

        <skos:prefLabel xml:lang="en">surface_temperature_where_land</skos:prefLabel>

        <skos:altLabel/>

        <skos:definition xml:lang="en">Unless indicated, a quantity is assumed to apply to the whole area of each horizontal grid box. The qualifier where_type specifies instead that the quantity applies only to the part of the grid box of the named type. The surface temperature is the (skin) temperature at the interface, not the bulk temperature of the medium above or below.</skos:definition>

        <dc:identifier>SDN:P07::CFSN0227</dc:identifier>

        <dce:identifier>SDN:P07::CFSN0227</dce:identifier>

        <skos:notation>SDN:P07::CFSN0227</skos:notation>

        <owl:versionInfo>1</owl:versionInfo>

        <dc:date>2008-11-11 15:25:45.0</dc:date>

        <skos:note xml:lang="en">deprecated</skos:note>

        <owl:deprecated>true</owl:deprecated>

        <dc:isReplacedBy rdf:resource="http://vocab.nerc.ac.uk/collection/P07/current/CFSN0225/"/>

        <skos:broader rdf:resource="http://vocab.nerc.ac.uk/collection/P02/current/CDTA/"/>

        <skos:broader rdf:resource="http://vocab.nerc.ac.uk/collection/P04/current/G230/"/>

        <skos:broader rdf:resource="http://vocab.nerc.ac.uk/collection/P07/current/CFSN0225/"/>

        <owl:sameAs rdf:resource="http://mmisw.org/ont/cf/parameter/surface_temperature_where_land"/>

        <skos:broader rdf:resource="http://vocab.nerc.ac.uk/collection/P64/current/G230/"/>

        <void:inDataset rdf:resource="http://vocab.nerc.ac.uk/.well-known/void"/>

    </skos:Concept>

</rdf:RDF>

(BTW, note they are already mapping to the alias terms at the ORR although not yet captured there.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants