adjacent_to
type: ObjectProperty

attaches_to
type: ObjectProperty

bounded_by
type: ObjectProperty
comment: does NOT imply part of (a boundary is ny necessity between two things). E.g. GO:0030287 cell wall-bounded periplasmic space. x and y are externally connected and the whole of the external boundary of x is in contact with y. (ie holes don't count)
sub property of: adjacent_to

bounds
type: ObjectProperty

completely_bounded_by
type: ObjectProperty
comment: x and y are externally connected and the whole boundary of x is in contact with y.
sub property of: bounded_by

complex_of
type: ObjectProperty
comment: Example: polysome complex_of ribosome
has definition: X complex_of Y all instance of X has_part y1 and has_part y2 where y1 and y2 are distinct instances of Y

continuous_with
type: ObjectProperty
type: TransitiveProperty

extrinsic_to
type: ObjectProperty

has_part
type: ObjectProperty
type: TransitiveProperty

inner_part_of
type: ObjectProperty
sub property of: part of

lacks_part
type: ObjectProperty

outer_part_of
type: ObjectProperty
sub property of: part of

overlaps
type: ObjectProperty
has definition: x overlaps y if there is some region that is part of both x and y

partially_enclosed_by
type: ObjectProperty
comment: a cross-section of x is surrounded_by y. i.e. x is an invagination within y

perforates
type: ObjectProperty
comment: x perforates y if x is part of y and x surrounds a space that is adjacent_to the inside and outside of y
sub property of: part of

spans
type: ObjectProperty
sub property of: overlaps
has definition: A spans B iff A overlaps B and A overlaps the two regions on either side of B

surrounded_by
type: ObjectProperty
comment: in GO, if X surrounded_by Y then X has_part Y
sub property of: bounded_by
sub property of: has_part

surrounds
type: ObjectProperty
comment: in GO, if X surrounds Y then X is part of Y. To resolve: differentiate complete vs partial surroundment? eg axolemma
sub property of: bounds
sub property of: part of