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

OWL version with human-readable names #215

Open
delenius opened this issue Jan 17, 2017 · 4 comments
Open

OWL version with human-readable names #215

delenius opened this issue Jan 17, 2017 · 4 comments

Comments

@delenius
Copy link

Has there been any discussion on generating human-readable names for the entities in the OWL version of BFO? While it is possible to view by rdfs:label in Protege, there are still many cases where it would be useful to have names like e.g. "bfo:continuant" insstead of "bfo:0000002" (e.g. when using other tools that are not so accommodating, or when browsing the raw OWL files).

Of course, I could add equivalent classes with more useful names, but that potentially generates more (unnecessary) reasoning steps.

@zhengj2007
Copy link
Contributor

All entities of BFO have human readable labels. Which BFO do you look at? If you open BFO from:
http://purl.obolibrary.org/obo/bfo.owl
on protege. It displays human-readable names instead of BFO ids. Could you please check whether Protege has set 'render by label (rdfs:label')' on View menu?

@delenius
Copy link
Author

Yes, I know there are rdfs:labels on everything, and I can view by label. But it would be nice if the real names, i.e. the URIs, of the entities, were also human-readable.

@jonathanbona
Copy link

The OBO Foundry URI principle proscribes this:

"Each class and relation (property) in the ontology must have a unique URI identifier. The URI should be constructed from a base URI, a prefix that is unique within the Foundry (e.g. GO, CHEBI, CL) and a local identifier (e.g. 0000001). The local identifier should not consist of labels or mnemonics meaningful to humans."
http://obofoundry.org/principles/fp-003-uris.html

The rationale is given here: http://www.obofoundry.org/id-policy.html

@delenius
Copy link
Author

delenius commented Jan 19, 2017

The rationale is not convincing to me. Four points are made:

The URIs should resolve to useful information about a term.
The URIs should be designed so that they can be maintained over time to keep pointing to useful information.
Each OBO id is assigned to a only single term within the set of all OBO ontologies.
There is a 1:1 mapping of OBO ids to Foundry-compliant URIs

This could all be accomplished while still using mnemonic human-readable names. You could introduce a new annotation property containing the OBO id.

Some downsides of the current scheme:

  1. It is very atypical by Semantic Web standards. Usually, mnemonic URIs are expected.
  2. Imagine writing software that processes BFO entities, e.g. using the OWL API. The Java code will contain identifiers like BFO0000001, rather than entity. The former are much easier to get wrong, and the code will be much less readable.
  3. It is virtually impossible to read the raw OWL files. You have to constantly cross-reference the rdfs:labels of everything.
  4. The current scheme is completely reliant on a feature of Protege. As far as I know, no other OWL software can process entities by rdfs:label. Furthermore, the labels cannot be guaranteed to be unique (I'm honestly not sure how Protege handles this).

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

4 participants
@jonathanbona @zhengj2007 @delenius and others