ols4 icon indicating copy to clipboard operation
ols4 copied to clipboard

Better support for punning

Open jamesamcl opened this issue 2 years ago • 3 comments

Punning is where the same URI is used for, say, both a Class and an Individual.

Currently, this is handled in owl2json by creating both an entry in "classes" and an entry in "individuals", with the same properties. However, some of these properties only apply to the Class, and some only apply to the Individual, so the current behaviour is wrong; it doesn't lose anything, but it adds properties where they should not be.

We can identify to which types the property applies by looking at the semantics of the property. For example, if the rdfs:domain of the property refers to a Class, the property should not be added to Individuals in the owl2json output.

The other side of this issue is that property might point to something that is punned. Does it refer to the Class or the Individual? Presumably we can look at the range of the property in a similar manner to above, but this would need to be done in json2neo because in the output of owl2json there is no unique identifier for each type of a punned entity (only the URI).

jamesamcl avatar Jul 28 '22 15:07 jamesamcl