inception icon indicating copy to clipboard operation
inception copied to clipboard

CSO SKOS ontology does not work properly in INCEpTION

Open reckart opened this issue 6 years ago • 1 comments

Describe the bug Loading the CSO SKOS ontology into inception produces a tree which has the intended root node ("computer science") at its leaves. It appears this is due to a misconception about the skos:broader predicate in CSO.

SKOS says:

The properties skos:broader and skos:narrower are used to assert a direct hierarchical link between two SKOS concepts. A triple <A> skos:broader <B> asserts that <B>, the object of the triple, is a broader concept than <A>, the subject of the triple. Similarly, a triple <C> skos:narrower <D> asserts that <D>, the object of the triple, is a narrower concept than <C>, the subject of the triple.

To Reproduce Steps to reproduce the behavior:

  1. Import the CSO ontology from from https://cso.kmi.open.ac.uk/downloads
  2. Switch KB mapping to SKOS, then switch to Custom
  3. Set http://www.w3.org/2004/02/skos/core#broaderGeneric as the subclass relation
  4. Open the KB and note that "Computer science" is a the leaves of the tree, not at the root!

Expected behavior The root concept should be at the root of the tree. Is probably an upstream issue.

Proposed solution

  • [ ] introduce a boolean flag on the subclass-mapping which tells whether or not the given property encodes the reverse of the expected relation.

Screenshots 2019-01-11_17-47-57

Please complete the following information:

  • Version and build ID: 0.7.0-SNAPSHOT (2019-01-11 13:49:16, build 63cb4b774b4c327c3ffdd2471b7bf49c295b6e51)

reckart avatar Jan 11 '19 16:01 reckart

Upstream is change the ontology now to use http://www.w3.org/2004/02/skos/extensions#narrowerGeneric instead of http://www.w3.org/2004/02/skos/core#broaderGeneric. Unfortunately, this still doesn't make the ontology compatible with INCEpTION because we expect a property with roughly subclassOf semantics (like broader) and not with superClassOf semantics (like narrower).

A fix for this could be to introduce a boolean flag on the subclass-mapping which tells whether or not the given property encodes the reverse of the expected relation.

reckart avatar Jan 31 '19 08:01 reckart