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

Provide URIs for units as datatypes #29

Open
cmungall opened this issue Jun 19, 2020 · 2 comments
Open

Provide URIs for units as datatypes #29

cmungall opened this issue Jun 19, 2020 · 2 comments
Assignees

Comments

@cmungall
Copy link

we are exploring a has-quantity property that links a characteristic instance to a literal of the form "NUMBER"^^UNIT_DATATYPE

here is an example:

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix COB: <http://purl.obolibrary.org/obo/COB_> .

@prefix cellular_organism: <http://purl.obolibrary.org/obo/COB_0000118> .
@prefix has-characteristic: <http://purl.obolibrary.org/obo/COB_0000512> .
@prefix has-quantity: <http://purl.obolibrary.org/obo/COB_0000511> .
@prefix characteristic: <http://purl.obolibrary.org/obo/COB_0000502> .

@prefix cm: <http://purl.obolibrary.org/obo/UO_0000015> .

@prefix : <http://example.org/> .

:Chris a cellular_organism: ;
  has-characteristic: [
     a characteristic: ;
     has-quantity: "182"^^cm:
  ] .

This leads the owlapi to induce:

#################################################################
#    Datatypes
#################################################################

###  http://purl.obolibrary.org/obo/UO_0000015
<http://purl.obolibrary.org/obo/UO_0000015> rdf:type rdfs:Datatype .

I don't know if punning class vs datatype is allowed but it's kinda weird

OBOFoundry/COB#35

cc @jamesaoverton

@kaiiam
Copy link
Collaborator

kaiiam commented Jul 2, 2020

I don't know if punning class vs datatype is allowed but it's kinda weird

@cmungall if I understand correctly, the current use of UO that has the same purl be both the class and the instance of the class is "punning", and it might not necessarily be the best practice to do this? I'm curious about the reasons for this if you don't mind explaining a bit more why it might be stranger or non-desirable.

maybe use QUDT or something instead?

As far as I'm aware OM, OBOE and especially QUDT are the best available other units semantic resources it would be great to sync/map with them at some point. Are you suggesting that the instances of UO classes could or should be QUDT terms (or are they properties) or equivalent to them in some way?

@cmungall
Copy link
Author

cmungall commented Jul 2, 2020

if I understand correctly, the current use of UO that has the same purl be both the class and the instance of the class is "punning"

Correct, this is one form of punning

it might not necessarily be the best practice to do this

it's perfectly logically valid. However, it is confusing for users. Some tooling may not explicitly take account of this. Or it may complicate the use of some tooling. See:

ontodev/robot#709

Note also that neither OLS nor OntoBee show the axiomatization the makes each class equivalent to an enumeration of a single individual:
http://purl.obolibrary.org/obo/UO_0000008

This is not necessarily bad, the browsers show the intuitive class-only view or the URI, but this itself could potentially lead to confusing as the punning and axiomatization is opaque

My proposal potentially makes things more confusing by additionally punning with datatypes. Over on the linked COB ticket we discuss the pros and cons of this model.

This is not straightforward and would be good to get @leechuck @jamesaoverton and others thoughts on this and arrive at something we can all agree on

As far as I'm aware OM, OBOE and especially QUDT are the best available other units semantic resources it would be great to sync/map with them at some point. Are you suggesting that the instances of UO classes could or should be QUDT terms (or are they properties) or equivalent to them in some way?

My thoughts on this are here:

pato-ontology/pato#101

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

No branches or pull requests

3 participants