:filter ,filter :limit ,limit)))
(defmacro umlisp-query-eval (table fields srl where-name where-value
- &key (lrl "KCUILRL") single distinct order like
+ &key (lrl "KCUILRL") single distinct order like
filter limit)
"Query the UMLisp database. Return a list of umlisp objects whose name
is OBJNAME from TABLE where WHERE-NAME field = WHERE-VALUE with FIELDS"
(ensure-cui-integer cui)
(unless cui (return-from find-ucon-cui nil))
- (let ((tuple (car (mutex-sql-query
+ (let ((tuple (car (mutex-sql-query
(format nil
"SELECT kcuilrl,str FROM MRCONSO WHERE CUI=~D AND KPFENG=1~A"
cui (if srl (format nil " AND SRL<=~D" srl) ""))))))
"Find preferred string for a cui"
(ensure-cui-integer cui)
(or
- (collect-umlisp-query (mrconso (str) srl cui cui :distinct t
+ (collect-umlisp-query (mrconso (str) srl cui cui :distinct t
:filter " KPFENG=1" :single t)
str)
- (collect-umlisp-query (mrconso (str) srl cui cui :distinct t
+ (collect-umlisp-query (mrconso (str) srl cui cui :distinct t
:single t)
str)))
(defun find-urel-rui (rui &key (srl *current-srl*))
"Return the urel for a rui"
(ensure-rui-integer rui)
- (collect-umlisp-query (mrrel (aui1 rel stype1 cui2 aui2 stype2 rela rui srui sab sl rg dir suppress cvf)
+ (collect-umlisp-query (mrrel (aui1 rel stype1 cui1 cui2 aui2 stype2 rela rui srui sab sl rg dir suppress cvf)
srl rui rui :lrl "KSRL" :single t)
- (make-instance 'urel :cui1 cui :aui1 (ensure-integer aui1) :stype1 stype1 :rel rel
+ (make-instance 'urel :cui1 cui1 :aui1 (ensure-integer aui1) :stype1 stype1 :rel rel
:cui2 (ensure-integer cui2) :aui2 (ensure-integer aui2) :stype2 stype2
:rui (ensure-integer rui) :srui srui :rela rela :sab sab :sl sl :rg rg :dir dir
:suppress suppress :cvf cvf :pfstr2 (find-pfstr-cui cui2))))
(ensure-cui-integer cui2)
(collect-umlisp-query (mrrel (rel cui1 aui1 stype1 aui2 stype2 rela rui srui sab sl rg dir suppress cvf)
srl cui2 cui2 :lrl "KSRL")
- (make-instance 'urel :cui2 cui2 :rel rel :aui2 (ensure-integer aui2)
+ (make-instance 'urel :cui2 cui2 :rel rel :aui2 (ensure-integer aui2)
:stype2 stype2 :rui (ensure-integer rui) :srui srui
:stype1 stype1 :cui1 (ensure-integer cui1)
:aui1 (ensure-integer aui1)
(defun find-uso-cui (cui &key (srl *current-srl*) (english-only nil) limit)
(ensure-cui-integer cui)
- (collect-umlisp-query (mrconso (aui sab code srl tty saui sdui scui lat str sui)
+ (collect-umlisp-query (mrconso (aui sab code srl tty saui sdui scui lat str sui)
srl cui cui :lrl srl :limit limit
:filter (when english-only "LAT='ENG'"))
(make-instance 'uso :aui aui :sab sab :code code :srl srl :tty tty