Linksets overlap relationships should include a proportion of overlap.
Some reasons why:
a) Overlap proportion is calculated during mb to cc linkset builds, this logic is being refactored to a form a general linkset builder utility and so the information should be available in many cases
b) Excellerator currently dynamically and on demand calculates proportionality by dividing the intersection area by a target object area. This is computationally inefficient because it is not cached. This information is not likely to change for our current scope on a per query basis (i.e shapes within linksets don't change on the timescale of application / query life).
c) Other use cases and applications are likely to require proportionality information. For example it can be used to quickly determine whether the relationships between an object A and a range of
objects B completely fill the expanse of object A.
d) Currently intersectional objects used to describe overlaps within linksets are required to calculate proportionality. There has been some discussion about removing these. Removing intersectional objects will simplify within / contains / overlaps queries likely reduce cache size. A separate issue will be created for this and linked. Without intersectional objects some proportionality will need to be represented some other way, e.g. by an explicit record of overlap proportion.
Current relevant code to be modified is in linksets_triples_builder.py the template
:to{intersection_iter:d} s: mb:{mb_code_2016:s} ;
p: tso: ;
o: cc:{hydroid:s};
i: l: ;
m: _:mb16cc_p .
could be modified to
:to{intersection_iter:d} s: mb:{mb_code_2016:s} ;
p: tso: ;
o: cc:{hydroid:s};
i: l: ;
m: _:mb16cc_p .
po:{proportion:f}
where po is a likely to be something like http://www.qudt.org/qudt/owl/1.0.0/quantity/index.html#DimensionlessRatio or http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#Percent
proportion can be sourced from the current postgis structure build from linkset_builder.py from mb_proportion and cc_proportion in mbintersectccareas and ccintersectmbareas. Exact code targets likely to change as parallel refactors are happening.
Linksets overlap relationships should include a proportion of overlap.
Some reasons why:
a) Overlap proportion is calculated during mb to cc linkset builds, this logic is being refactored to a form a general linkset builder utility and so the information should be available in many cases
b) Excellerator currently dynamically and on demand calculates proportionality by dividing the intersection area by a target object area. This is computationally inefficient because it is not cached. This information is not likely to change for our current scope on a per query basis (i.e shapes within linksets don't change on the timescale of application / query life).
c) Other use cases and applications are likely to require proportionality information. For example it can be used to quickly determine whether the relationships between an object A and a range of
objects B completely fill the expanse of object A.
d) Currently intersectional objects used to describe overlaps within linksets are required to calculate proportionality. There has been some discussion about removing these. Removing intersectional objects will simplify within / contains / overlaps queries likely reduce cache size. A separate issue will be created for this and linked. Without intersectional objects some proportionality will need to be represented some other way, e.g. by an explicit record of overlap proportion.
Current relevant code to be modified is in
linksets_triples_builder.pythe templatecould be modified to
where po is a likely to be something like http://www.qudt.org/qudt/owl/1.0.0/quantity/index.html#DimensionlessRatio or http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#Percent
proportion can be sourced from the current postgis structure build from
linkset_builder.pyfrommb_proportionandcc_proportioninmbintersectccareasandccintersectmbareas. Exact code targets likely to change as parallel refactors are happening.