geneontology / obographs

Basic and Advanced OBO Graphs: specification and reference implementation
63 stars 12 forks source link

Define behavior when punning is used #11

Open cmungall opened 7 years ago

cmungall commented 7 years ago

Current spec assumes no punning. E.g. the type field of a node is one of INDIVIDUAL, CLASS, ...

Should we explicitly forbid punning or explicitly say behavior is undefined?

dosumis commented 7 years ago

Should we explicitly forbid punning or explicitly say behavior is undefined?

I don't currently have use cases for it (can share some?) and wouldn't want to lose expressiveness by trying to support it. I'm agnostic about whether to forbid or say behavior is undefined. Presumably if explicitly undefined then we just don't specify any translation where one of the nodes is not INDIVIDUAL or CLASS?

cmungall commented 7 years ago

On 16 Nov 2016, at 3:02, David Osumi-Sutherland wrote:

Should we explicitly forbid punning or explicitly say behavior is undefined?

I don't currently have use cases for it (can share some?) and wouldn't want to lose expressiveness by trying to support it.

The goal is to support full expressivity, it's just that certain patterns would not be conveniently represented in a basic graph. We can have otherwise unmappable axioms fall back to a very generic axiom object (not yet implemented).

But overall I agree, we want to maximize convenience and intuitiveness.

I'm agnostic about whether to forbid or say behavior is undefined.
Presumably if explicitly undefined then we just don't specify any translation where one of the nodes is not INDIVIDUAL or CLASS?

That would be one possibility.

However, perhaps a simpler scenario is just to tag the edge with the OWL construct type. This could be ignored by all applications that just want to traverse graphs, but retained for roundtripping purposes.