Stream: ontology
Topic: can we stop using the word "closure"
Erich Schulz (Jun 03 2016 at 22:40):
I dont know what other folk think but I am find the common use of the word "closure" to be confusing.
Erich Schulz (Jun 03 2016 at 22:41):
Apparently there are two distinct definitiions of closure
Erich Schulz (Jun 03 2016 at 22:42):
https://en.wikipedia.org/wiki/Closure_(computer_programming)
Erich Schulz (Jun 03 2016 at 22:42):
https://en.wikipedia.org/wiki/Closure_(mathematics)
Erich Schulz (Jun 03 2016 at 22:42):
What ontology operations are interested in are transitive closure
s
Erich Schulz (Jun 03 2016 at 22:43):
https://en.wikipedia.org/wiki/Transitive_closure
Erich Schulz (Jun 03 2016 at 22:43):
More specifcially we are interested in transitive closures
that traverse is-a
relationships
Erich Schulz (Jun 03 2016 at 22:44):
(as opposed to causal
or part-of
relationships)
Erich Schulz (Jun 03 2016 at 22:45):
so when we say closure
we definitely dont mean is this
Erich Schulz (Jun 03 2016 at 22:47):
is there a another word or acronym we can use?
Rob Hausam (Jun 03 2016 at 22:48):
yes - we're talking specifically about "transitive closure" of is-a relationships
we should make sure that our documentation reflects this, but I expect that the operation name itself of $closure is OK?
Erich Schulz (Jun 03 2016 at 22:48):
?? IsATCT
? exploded hierarchy
??
Rob Hausam (Jun 03 2016 at 22:49):
unless we happen to decide that we don't even need a separate operation
not following your last comment
Rob Hausam (Jun 03 2016 at 22:50):
oh, I get it - alternate operation names
I obviously didn't understand them at first :)
Erich Schulz (Jun 03 2016 at 22:50):
there are numerous other forms of sets possessing the property of having closure that may become relevant...
Erich Schulz (Jun 03 2016 at 22:50):
walk up, walk down, intersect, union... difference...
Erich Schulz (Jun 03 2016 at 22:50):
all those operations have closure
Erich Schulz (Jun 03 2016 at 22:51):
(at least to same extent as an IsA TC
has...
Rob Hausam (Jun 03 2016 at 22:52):
true
well, we could just use $transitive-closure
assuming that we need it, that shouldn't be too bad
Rob Hausam (Jun 03 2016 at 22:52):
I know it leaves out the is-a bit
Erich Schulz (Jun 03 2016 at 22:52):
that could also include other transitive properties?
Erich Schulz (Jun 03 2016 at 22:53):
part-of
and causal
...
Erich Schulz (Jun 03 2016 at 22:55):
ie there are several reasons to avoid closure... it is fairly occult maths jargon, it has a second (?more common) meaning which is completely different, and even if specified as transitive
it only tells a part of the story... bit of a perfect storm of confusing a wide variety of humans...
Rob Hausam (Jun 03 2016 at 22:56):
$subsumption-closure ? (I think the "transitive" should be implied?)
Erich Schulz (Jun 03 2016 at 22:57):
definitely better!
Erich Schulz (Jun 03 2016 at 22:57):
but the word closure really adds very little
Erich Schulz (Jun 03 2016 at 22:58):
and I even think that Grahame was implieing it may not be accurate...
Erich Schulz (Jun 03 2016 at 22:58):
in that if you do coordination then you can generate infinite sets?
Rob Hausam (Jun 03 2016 at 22:59):
post-coordination - yes, there's no deterministic enumerable list
Erich Schulz (Jun 03 2016 at 22:59):
heh
Erich Schulz (Jun 03 2016 at 22:59):
<strike>there for closure
is not even accurate!</strike>
Erich Schulz (Jun 03 2016 at 23:02):
actually not sure...
Peter Jordan (Jun 03 2016 at 23:05):
I see the $closure operation more as a mechanism for maintaining a table/resource on the server - and synching it with the client - rather than querying. Most, if not all, of the operations suggested by Erich can be performed using the various SNOMED CT filters on $expansion queries.
Rob Hausam (Jun 03 2016 at 23:05):
as I said, I want to spend some more time on this
servers, and many or most clients, will want to maintain a table for this based on the known pre-coordinated content - it's basically pre-computed subsumption
there is no guarantee that it is (or can be) exhaustive, but I'm not sure that's actually needed
if you encounter a concept or expression that isn't in your currently known set, then you need to either know that you can reject it, or you need to subsumption test it (and then add it to your "closure" table if there is subsumption)
Erich Schulz (Jun 03 2016 at 23:08):
@Peter Jordan my concern that whatever FHIR "closure"
is doing it could have a better name!
Erich Schulz (Jun 03 2016 at 23:17):
like "[exploded|full|explicit|complete] [hierarchy|subsumption|classification|taxonomy]" or "ancestor table" ?
Rob Hausam (Jun 03 2016 at 23:32):
has anyone so far done serious testing of $closure (as it's currently specified)?
I certainly get the idea, but I have a somewhat different conception of it (based on prior experience)
I would like to start testing it soon, but haven't gotten to that yet
Erich Schulz (Jun 03 2016 at 23:34):
I'm wanting to start using an ancestor table
Erich Schulz (Jun 03 2016 at 23:34):
I simply want to classify a problem list by system and anatomical region
Erich Schulz (Jun 03 2016 at 23:52):
i posted a case... http://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=10127
Erich Schulz (Jun 03 2016 at 23:52):
(there's a few others I need to post to)
Last updated: Apr 12 2022 at 19:14 UTC