Skip to content

Store expanded versions of property URIs #645

@philbarker

Description

@philbarker

From #569

@excelsior :

Question: Currently, if a specification with compact URIs is uploaded, we store those value as is and expand them when the corresponding mappings are downloaded. Should we expand them right away and store the expanded versions?

@philbarker :

I don't think it matters much, so long as the prefix URLs are kept and scoped correctly, but expanding them might be safer. The only cases I can think of where it might make a difference are where two orgs use the same prefix for different namespaces (not common, but it happens especially with dc: for DCTERMS and DCELEMENTS) and where two orgs use different prefixes for the same namespace (which happens quite often but is inconsequential).

@excelsior : "

'Expanding them might be safer'

Absolutely. If we do that, should we expand the values of all the entities which are already in the database or only apply this change going forward? In the latter case, we may have duplicate entities (e.g. both schema:Person and http://schema.org/Person), but it won't affect the downloads, because the values their will be expanded anyway.

The only problem I can think is the shared mappings page. Currently, the values of for the classes and value types look like this:
ceterms:Organization
rdf:langString
schema:Text
Showing expanded values there would clutter the UI, IMO. OTOH the exact meanings of those namespaces aren't disclosed there. And if for rdf and schema it's kinda obvious, for asn or ceterms it isn't.

If we switch to storing only expanded values, should we change this page somehow?

This is lower priority than the main issue fixed in #569 as it is mainly about tidiness and consistency rather than functionality, and so is being parked so that fixes to main issue can be pushed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Data OutputIssues listed in the report under Output optionsViewing mappingissues relating to viewing mappings

    Type

    No type

    Projects

    Status

    Scope Tasks

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions