X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=data-structures.lisp;h=c7e3f683f8a30b0fa939923317f0e9fa659b17e1;hb=c01a3503e58ba9d4e7fadb42f3f0f69c38496e10;hp=36b874c7973fab89f922a6ea67b83b9a5ac88971;hpb=8e895602ced5ab847ecc36c1eaa7be1c9a872a22;p=umlisp.git diff --git a/data-structures.lisp b/data-structures.lisp index 36b874c..c7e3f68 100644 --- a/data-structures.lisp +++ b/data-structures.lisp @@ -20,27 +20,37 @@ ;;; Paths for files +(defparameter *release* "2006AD") + (defparameter *umls-path* - (make-pathname :directory '(:absolute "srv" "umls" "2006AC")) + (make-pathname :directory (list :absolute "srv" "umls" *release*)) "Path for base of UMLS data files") +(defparameter *meta-dir* + (make-pathname :directory '(:relative "META"))) + +(defparameter *lex-dir* + (make-pathname :directory '(:relative "LEX"))) + +(defparameter *net-dir* + (make-pathname :directory '(:relative "NET"))) + (defparameter *meta-path* - (merge-pathnames - (make-pathname :directory '(:relative "META")) - *umls-path*)) + (merge-pathnames *meta-dir* *umls-path*)) (defparameter *lex-path* - (merge-pathnames - (make-pathname :directory '(:relative "LEX")) - *umls-path*)) + (merge-pathnames *lex-dir* *umls-path*)) (defparameter *net-path* - (merge-pathnames - (make-pathname :directory '(:relative "NET")) - *umls-path*)) + (merge-pathnames *net-dir* *umls-path*)) (defun umls-path! (p) - (setq *umls-path* p)) + (setq *umls-path* (etypecase p + (string (parse-namestring p)) + (pathname p))) + (setq *meta-path* (merge-pathnames *meta-dir* *umls-path*)) + (setq *lex-path* (merge-pathnames *lex-dir* *umls-path*)) + (setq *net-path* (merge-pathnames *net-dir* *umls-path*))) ;;; Structures for parsing UMLS text files @@ -57,7 +67,7 @@ (defvar *octet-sql-storage* t "Used to deciding field lengths. Use nil if using UTF-8 database encoding. But, UTF-8 will cause MySQL to double the bytes used for fixed field sizes.") - + ;; Preliminary objects to replace structures (defclass ufile ()