geneontology / obographs

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

Support for individuals #7

Open dosumis opened 7 years ago

dosumis commented 7 years ago

Is it legal in obographs to include individuals in the 'existential graph'? Could just have edge translation to OWL depend on owl entity type of object and subject:

C:C SubClassOf to name class "subj" : "Class A", "pred" : "Is_a", "obj" : "Class B"

SubClassOf to simple anonymous class (A R some B) "subj" : "Class A", "pred" : "Is_a", "obj" : "Class B"

I:C Type statement to named class: "subj" : "Individual A", "pred" : "InstanceOf", "obj" : "Class B"

Type statement, simple anonymous class (R some B): "subj" : "Individual A", "pred" : "part_of", "obj" : "Class B"

I:I FACT: "subj" : "Individual A", "pred" : "part_of", "obj" : "Individual B"

C:I Simple reification pattern (A R Value B) "subj" : "Class A", "pred" : "has_exemplar", "obj" : "Individual B"

(Edited)

cmungall commented 7 years ago

Yes, OPAs to edges is the most obvious, and is the undocumented behavior now

Not sure I follow the reification

CAs - own axiom type or an edge? I am tentatively opting for the latter

@kltm this differs slightly from ABoxes in MinervaJSON

dosumis commented 7 years ago

Not sure I follow the reification

Seems clear enough to me:

ClassA has_exemplar value IndividualB <-> "subj" : "Class A", "pred" : "has_exemplar", "obj" : "Individual B"

I've occasionally found this pattern useful for VFB. I think it may become more common in future.

Can we try to keep to a single vocab for this?

OPA = FACT CA (class assertion) = type axiom ?

dosumis commented 7 years ago

Would be fantastically useful for VFB if generation could be extended to cover at least the I:C and I:I mappings above.

cmungall commented 7 years ago
Type statement, simple anonymous class (R some B):
"subj" : "Individual A",
"pred" : "part_of",
"obj" : "Class B"

This is a nice convenience pattern. However, the reverse mapping becomes ambiguous if we have punning. But this may not be a problem if we say punning out of scope: #11

cmungall commented 7 years ago

hasValue pattern understood (it was the reificiation terminology that threw me). Same comments as above.

cmungall commented 7 years ago

How should we handle negative property assertion axioms?