- Created by Harold Solbrig, last modified on 2016-Aug-17
- Unselect all elements
- New
- In discussion
- Resolved
- No corresponding status
Choose creation period
ideation.btn.close- Unselect all elements
- No corresponding category
What is your opinion about retrieving only primitive/fully defined concepts in ECL?
Thoughts on the topic
Some doubts in non-redundant attributes in cardinality count
Provisional releases contain content that should be treated as somehow separate and distinct from normal production releases. However, to ingest, manipulate, and process with standard toolchains (e.g., terminology servers), it still needs to be identified while still remaining distinct from production content. This proposal is that a parallel URI space (http://snomed.info/xsct) be set aside for such provisional releases. Mirroring the http://snomed.info/sct URI space, this would include:
Tried four implementations of ECL using grouped and non-grouped attributes in the query and got different results.
MRCM-related questions
Currently ECL expressions can match (return) concepts that are either the source or the target of a relationship triple (target is accessed via the 'reverse' notation or 'dot notation', but not the relationship type (ie attribute name) itself. For example, I can write: << 404684003|Clinical finding| : 363698007|Finding site| = <<66019005|Limb structure| << 404684003|Clinical finding| . 363698007|Finding site| But I can't get all the attribute names that are used by << 404684003|Clini
I propose that the compositional grammar support comments in the same way as the ECL. Not just for completeness and symmetry with the other languages: I actually tried to comment out a portion of an expression before quickly realizing it made the expression illegal!
What should be the interpretation of cardinality of reverse attribute? Does the cardinality apply to the source or the destination of the relationship? Just to clarify!
Discussion about extending the ECL to support sub-expressions
Topic | Status | Author | Like | View | Replies | Creation date | Last Reply | Contributors | Category | |
---|---|---|---|---|---|---|---|---|---|---|
Discussion | Retrieving Primitive/Fully defined concepts | In discussion | 0 | View 1390 | Comment 2 | 1573744682000 Nov 14, 2019 15:18 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Nov 15, 2019 03:27 | 2 | Undefined | |
Discussion | Executing maps - ECL or QL | In discussion | 0 | View 1424 | Comment 2 | 1573643690000 Nov 13, 2019 11:14 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Nov 15, 2019 04:12 | 2 | Undefined | |
Question | Non-redundant attributes in cardinality count | Resolved | 0 | View 2822 | Comment 6 | 1573564213000 Nov 12, 2019 13:10 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Jul 8, 2020 03:52 | 6 | Undefined | |
Discussion | URIs for provisional releases | In discussion | 1 | View 1529 | Comment 1 | 1549107729000 Feb 2, 2019 11:42 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Feb 12, 2019 03:51 | 1 | Undefined | |
Discussion | ECL and grouped attributes | In discussion | 0 | View 7214 | Comment 20 | 1546432749000 Jan 2, 2019 12:39 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Feb 12, 2019 11:19 | 20 | Undefined | |
Discussion | MRCM | In discussion | 0 | View 5765 | Comment 15 | 1545044955000 Dec 17, 2018 11:09 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Feb 6, 2023 14:00 | 15 | Undefined | |
Question | How can I write an ECL expression to match attribute names | In discussion | 0 | View 1905 | Comment 1 | 1515385505000 Jan 8, 2018 04:25 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Feb 10, 2019 23:04 | 1 | Undefined | |
Discussion | Comments in expressions | In discussion | 0 | View 4297 | Comment 12 | 1503843960000 Aug 27, 2017 14:26 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Aug 30, 2017 13:14 | 12 | Undefined | |
Discussion | Interpretation of cardinality of reverse attributes | In discussion | 0 | View 3694 | Comment 8 | 1494834771000 May 15, 2017 07:52 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) May 17, 2017 05:55 | 8 | Undefined | |
Discussion | Nesting / Sub-expressions in the ECL | In discussion | 0 | View 5137 | Comment 11 | 1475195419000 Sep 30, 2016 00:30 | $date.format('yyMMddHHmm', $lastComment.getCreationDate()) Feb 7, 2017 03:39 | 11 | Undefined |
Discussion summary
Contributors (12)
-
Number of accepted comment 0Number of comment 1
-
Number of accepted comment 0Number of comment 1
-
Number of accepted comment 0Number of comment 17
-
Number of accepted comment 0Number of comment 10
-
Number of accepted comment 0Number of comment 5
-
Number of accepted comment 0Number of comment 1
-
Number of accepted comment 0Number of comment 4
-
Number of accepted comment 1Number of comment 31
-
Number of accepted comment 1Number of comment 16
-
Number of accepted comment 0Number of comment 4
-
Number of accepted comment 0Number of comment 1
-
Number of accepted comment 0Number of comment 4
- No labels
3 Comments
-
Kai Kewley Alejandro Lopez Osornio All I would like to start a discussion about how to find all the reference sets that contain a given SNOMED code, but I no longer have permissions for the "Add discussion" button hence this comment.
We can almost get there with current syntax:
- ^[refsetId] * {{ M referencedComponentId = 404684003 }}
But "refsetId" is not a valid Field Name.
On the other hand, this is pretty obscure syntax, may have inherent poor performance, and thus it would be nice to have a more direct syntax for this.
I am thinking we could use the '@' symbol for "contains" similarly to how the '^' symbol is used for "memberOf". So, the above would just be:
- @404684003
-
I would like to second Michael’s suggestion of adding an easy way to find the set of reference sets that contain a given concept, as this is a feature that I have often “wished for” during refset maintenance. Perhaps there are some additional use cases? A few comments on Michael’s proposed syntax:
- I would be a bit cautious about using the “@” symbol for this, given that this is also used by the template syntax to prefix a slot name (this may cause confusion when both are used within an expression template for different purposes).
- I would like to throw a few other possible options into the virtual "ring" - “? 404684003” or “^? 404684003” or “^R 404684003” (note: The last one meaning “ReverseOf memberOf”).
- Would this operator be intended to be applied only to a single concept, or could it be applied to a subexpression constraint? E.g. ^? <404684003
- The other difference between the briefer and fuller syntax (although I prefer the shorter syntax too!) is that the fuller syntax allows you to find a set of reference sets that contain the given value in columns/attributes other than the referencedComponentId e.g. "^[refsetId] * {{ M targetComponentId = 404684003 }}" Perhaps that's a slippery slope ... but I think it's worth noting the differences in expressivity between the two approaches.
-
Ah, I always forget about the template syntax
- I had actually thought about ^R as an option
- concept vs expression - I haven't really contemplated this
- Agree it's a slippery slope – I think we need to get input from implementers on the implementation cost / overheads
Linda Bird