drdozer / oboformat

Automatically exported from code.google.com/p/oboformat
0 stars 0 forks source link

Incorrect expansion behavior #42

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
In attached test file: 

Without expansion:

'neuron B' SubClassOf: 
synapsed_to some 'neuron A'

After expansion => 

'neuron B' SubClassOf:
synapsed_to some (has_part some 
    ('presynaptic membrane'
     and (part_of some 
        (synapse
         and (has_part some 
            ('postsynaptic membrane'
             and (part_of some 'neuron A')))))))

What should happen:

'neuron B' SubClassOf:
synapsed_to some (has_part some 
    ('presynaptic membrane'
     and (part_of some 
        (synapse
         and (has_part some 
            ('postsynaptic membrane'
             and (part_of some 'neuron A')))))))

'neuron B' SubClassOf:
synapsed_to some 'neuron A'

Original issue reported on code.google.com by dosu...@gmail.com on 1 Jul 2011 at 10:44

Attachments:

GoogleCodeExporter commented 9 years ago
Oops.  Pasto in this ticket.  Should read:

"
What should happen:

'neuron B' SubClassOf:
has_part some 
    ('presynaptic membrane'
     and (part_of some 
        (synapse
         and (has_part some 
            ('postsynaptic membrane'
             and (part_of some 'neuron A'))))))

'neuron B' SubClassOf:
synapsed_to some 'neuron A' "

i.e.- the original statement should be preserved as a separate axiom, not 
rolled into the expanded one.

Original comment by dosu...@gmail.com on 1 Jul 2011 at 2:46

GoogleCodeExporter commented 9 years ago
Could you please explain bit more or highlight what is incorrect in the 
expansion?

Original comment by shahid.m...@gmail.com on 5 Jul 2011 at 5:45

GoogleCodeExporter commented 9 years ago
OBO:

id: RO:0002120
name: synapsed_to
expand_expression_to: "BFO_0000051 some (GO_0042734 that BFO_0000050 some 
(GO_0045202 that BFO_0000051 some (GO_0045211 that BFO_0000050 some ?Y)))" []

id: test:2234
name: neuron B
relationship: RO:0002120 test:1234 ! neuron A

Translation to OWL w/o expansion:

test_2234 SubClassOf RO_0002120 some test:1234

Translation to OWL w/expansion

test_2234 SubClassOf BFO_0000051 some (GO_0042734 that BFO_0000050 some 
(GO_0045202 that BFO_0000051 some (GO_0045211 that BFO_0000050 some test:1234)))

What I'm seeing instead:

test_2234 SubClassOf RO_0002120 some (BFO_0000051 some (GO_0042734 that 
BFO_0000050 some (GO_0045202 that BFO_0000051 some (GO_0045211 that BFO_0000050 
some test:1234))))

Original comment by dosu...@gmail.com on 6 Jul 2011 at 1:23

GoogleCodeExporter commented 9 years ago
From 

http://berkeleybop.org/~cjm/obo2owl/obo-syntax.html#7

Expression or Axiom to be Replaced:   ObjectSomeValuesFrom(P CE)
Condition:   AnnotationAssertion(expand_expression_to P Template)
Replace With: Subst(Template)[CE]

Note - there is no property (P) preceding the template in the 'Replace with' 
specification.

Also - I think that the spec is wrong in that the existing expression should 
not be replaced when expanded expression is added.

Original comment by dosu...@gmail.com on 6 Jul 2011 at 1:36