projects
/
umlisp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
54f2fbc
)
r11624: improve find-uconso-code
author
Kevin M. Rosenberg
<kevin@rosenberg.net>
Sat, 14 Apr 2007 16:47:43 +0000
(16:47 +0000)
committer
Kevin M. Rosenberg
<kevin@rosenberg.net>
Sat, 14 Apr 2007 16:47:43 +0000
(16:47 +0000)
sql-classes.lisp
patch
|
blob
|
history
diff --git
a/sql-classes.lisp
b/sql-classes.lisp
index eba8ce104b525a46fcb1c63679c61c6e5d95e37a..6bd0012f9809c2cbb3c32b2dd5293e2dfc0ac05a 100644
(file)
--- a/
sql-classes.lisp
+++ b/
sql-classes.lisp
@@
-261,6
+261,17
@@
is OBJNAME from TABLE where WHERE-NAME field = WHERE-VALUE with FIELDS"
:kcuisui kcuisui :kcuilui kcuilui :kcuilrl kcuilrl :kluilrl kluilrl
:ksuilrl ksuilrl)))
:kcuisui kcuisui :kcuilui kcuilui :kcuilrl kcuilrl :kluilrl kluilrl
:ksuilrl ksuilrl)))
+
+(defun find-uconso-code (code &key first sab (srl *current-srl*) (like nil))
+ "Return list of uconso objects that match code. Optional, filter for SAB. Optionally, use SQL's LIKE syntax"
+ (collect-umlisp-query (mrconso (cui sab) srl code code :like like :distinct t
+ :lrl klrl
+ :filter (if sab (concatenate 'string "SAB='" sab "'") nil))
+ (let ((uconsos (find-uconso-cui cui :sab sab :srl srl)))
+ (if first
+ (first uconsos)
+ uconsos))))
+
(defun find-uconso-sui (sui &key sab (srl *current-srl*))
"Find uconso for a sui. If set SAB, the without-pfstr is on by default"
(ensure-sui-integer sui)
(defun find-uconso-sui (sui &key sab (srl *current-srl*))
"Find uconso for a sui. If set SAB, the without-pfstr is on by default"
(ensure-sui-integer sui)
@@
-740,13
+751,6
@@
is OBJNAME from TABLE where WHERE-NAME field = WHERE-VALUE with FIELDS"
(collect-umlisp-query (mrsty (cui) srl tui tui :lrl klrl :order (cui asc))
(find-ucon-cui (ensure-integer cui) :srl srl)))
(collect-umlisp-query (mrsty (cui) srl tui tui :lrl klrl :order (cui asc))
(find-ucon-cui (ensure-integer cui) :srl srl)))
-(defun find-uconso-code (code &key sab (srl *current-srl*) (like nil))
- "Return list of uconso objects that match code. Optional, filter for SAB. Optionally, use SQL's LIKE syntax"
- (collect-umlisp-query (mrconso (sui sab) srl code code :like like :distinct t
- :lrl klrl
- :filter (if sab (concatenate 'string "SAB='" sab "'") nil))
- (find-uconso-sui sui :sab sab :srl srl)))
-
(defun mrconso-query-word-cui (word sab srl like)
(format nil "SELECT DISTINCT c.cui FROM MRCONSO c,MRXW_ENG x WHERE x.WD~A'~A' AND x.cui=c.cui~A~A"
(if like " LIKE " "=")
(defun mrconso-query-word-cui (word sab srl like)
(format nil "SELECT DISTINCT c.cui FROM MRCONSO c,MRXW_ENG x WHERE x.WD~A'~A' AND x.cui=c.cui~A~A"
(if like " LIKE " "=")