KIDS Distribution saved on Oct 27, 2011@22:14:58 Initial build of fileman triplestore **KIDS**:C0X*1.0*0^ **INSTALL NAME** C0X*1.0*0 "BLD",7885,0) C0X*1.0*0^^0^3111027^n "BLD",7885,4,0) ^9.64PA^172.201^2 "BLD",7885,4,172.101,0) 172.101 "BLD",7885,4,172.101,222) y^y^f^^^^n "BLD",7885,4,172.201,0) 172.201 "BLD",7885,4,172.201,222) y^y^f^^^^n "BLD",7885,4,"B",172.101,172.101) "BLD",7885,4,"B",172.201,172.201) "BLD",7885,6.3) 1 "BLD",7885,"KRN",0) ^9.67PA^779.2^20 "BLD",7885,"KRN",.4,0) .4 "BLD",7885,"KRN",.401,0) .401 "BLD",7885,"KRN",.402,0) .402 "BLD",7885,"KRN",.403,0) .403 "BLD",7885,"KRN",.5,0) .5 "BLD",7885,"KRN",.84,0) .84 "BLD",7885,"KRN",3.6,0) 3.6 "BLD",7885,"KRN",3.8,0) 3.8 "BLD",7885,"KRN",9.2,0) 9.2 "BLD",7885,"KRN",9.8,0) 9.8 "BLD",7885,"KRN",9.8,"NM",0) ^9.68A^1^1 "BLD",7885,"KRN",9.8,"NM",1,0) C0XMAIN^^0^B11207527 "BLD",7885,"KRN",9.8,"NM","B","C0XMAIN",1) "BLD",7885,"KRN",19,0) 19 "BLD",7885,"KRN",19.1,0) 19.1 "BLD",7885,"KRN",101,0) 101 "BLD",7885,"KRN",409.61,0) 409.61 "BLD",7885,"KRN",771,0) 771 "BLD",7885,"KRN",779.2,0) 779.2 "BLD",7885,"KRN",870,0) 870 "BLD",7885,"KRN",8989.51,0) 8989.51 "BLD",7885,"KRN",8989.52,0) 8989.52 "BLD",7885,"KRN",8994,0) 8994 "BLD",7885,"KRN","B",.4,.4) "BLD",7885,"KRN","B",.401,.401) "BLD",7885,"KRN","B",.402,.402) "BLD",7885,"KRN","B",.403,.403) "BLD",7885,"KRN","B",.5,.5) "BLD",7885,"KRN","B",.84,.84) "BLD",7885,"KRN","B",3.6,3.6) "BLD",7885,"KRN","B",3.8,3.8) "BLD",7885,"KRN","B",9.2,9.2) "BLD",7885,"KRN","B",9.8,9.8) "BLD",7885,"KRN","B",19,19) "BLD",7885,"KRN","B",19.1,19.1) "BLD",7885,"KRN","B",101,101) "BLD",7885,"KRN","B",409.61,409.61) "BLD",7885,"KRN","B",771,771) "BLD",7885,"KRN","B",779.2,779.2) "BLD",7885,"KRN","B",870,870) "BLD",7885,"KRN","B",8989.51,8989.51) "BLD",7885,"KRN","B",8989.52,8989.52) "BLD",7885,"KRN","B",8994,8994) "FIA",172.101) C0X TRIPLE "FIA",172.101,0) ^C0X(101, "FIA",172.101,0,0) 172.101I "FIA",172.101,0,1) y^y^f^^^^n "FIA",172.101,0,10) "FIA",172.101,0,11) "FIA",172.101,0,"RLRO") "FIA",172.101,172.101) 0 "FIA",172.201) C0X STRING "FIA",172.201,0) ^C0X(201, "FIA",172.201,0,0) 172.201 "FIA",172.201,0,1) y^y^f^^^^n "FIA",172.201,0,10) "FIA",172.201,0,11) "FIA",172.201,0,"RLRO") "FIA",172.201,172.201) 0 "FIA",172.201,172.2011) 0 "IX",172.101,172.101,"G",0) 172.101^G^REGULAR INDEX OF THE GRAPH FIELD^R^^F^IR^I^172.101^^^^^LS "IX",172.101,172.101,"G",1) S ^C0X(101,"G",X,DA)="" "IX",172.101,172.101,"G",2) K ^C0X(101,"G",X,DA) "IX",172.101,172.101,"G",2.5) K ^C0X(101,"G") "IX",172.101,172.101,"G",11.1,0) ^.114IA^1^1 "IX",172.101,172.101,"G",11.1,1,0) 1^F^172.101^.02^^1^F "IX",172.101,172.101,"G",11.1,1,3) "IX",172.101,172.101,"OPS",0) 172.101^OPS^REGULAR INDEX OF OBJECT PREDICATE SUBJECT^R^^R^IR^I^172.101^^^^^LS "IX",172.101,172.101,"OPS",1) S ^C0X(101,"OPS",X(1),X(2),X(3),DA)="" "IX",172.101,172.101,"OPS",2) K ^C0X(101,"OPS",X(1),X(2),X(3),DA) "IX",172.101,172.101,"OPS",2.5) K ^C0X(101,"OPS") "IX",172.101,172.101,"OPS",11.1,0) ^.114IA^3^3 "IX",172.101,172.101,"OPS",11.1,1,0) 1^F^172.101^.05^^1^F "IX",172.101,172.101,"OPS",11.1,1,3) "IX",172.101,172.101,"OPS",11.1,2,0) 2^F^172.101^.04^^2^F "IX",172.101,172.101,"OPS",11.1,2,3) "IX",172.101,172.101,"OPS",11.1,3,0) 3^F^172.101^.03^^3^F "IX",172.101,172.101,"OPS",11.1,3,3) "IX",172.101,172.101,"OSP",0) 172.101^OSP^REGULAR INDEX OF OBJECT SUBJECT PREDICATE^R^^R^IR^I^172.101^^^^^LS "IX",172.101,172.101,"OSP",1) S ^C0X(101,"OSP",X(1),X(2),X(3),DA)="" "IX",172.101,172.101,"OSP",2) K ^C0X(101,"OSP",X(1),X(2),X(3),DA) "IX",172.101,172.101,"OSP",2.5) K ^C0X(101,"OSP") "IX",172.101,172.101,"OSP",11.1,0) ^.114IA^3^3 "IX",172.101,172.101,"OSP",11.1,1,0) 1^F^172.101^.05^^1^F "IX",172.101,172.101,"OSP",11.1,1,3) "IX",172.101,172.101,"OSP",11.1,2,0) 2^F^172.101^.03^^2^F "IX",172.101,172.101,"OSP",11.1,2,3) "IX",172.101,172.101,"OSP",11.1,3,0) 3^F^172.101^.04^^3^F "IX",172.101,172.101,"OSP",11.1,3,3) "IX",172.101,172.101,"PSO",0) 172.101^PSO^REGULAR INDEX OF PREDICATE SUBJECT OBJECT^R^^R^IR^I^172.101^^^^^LS "IX",172.101,172.101,"PSO",1) S ^C0X(101,"PSO",X(1),X(2),X(3),DA)="" "IX",172.101,172.101,"PSO",2) K ^C0X(101,"PSO",X(1),X(2),X(3),DA) "IX",172.101,172.101,"PSO",2.5) K ^C0X(101,"PSO") "IX",172.101,172.101,"PSO",11.1,0) ^.114IA^3^3 "IX",172.101,172.101,"PSO",11.1,1,0) 1^F^172.101^.04^^1^F "IX",172.101,172.101,"PSO",11.1,1,3) "IX",172.101,172.101,"PSO",11.1,2,0) 2^F^172.101^.03^^2^F "IX",172.101,172.101,"PSO",11.1,2,3) "IX",172.101,172.101,"PSO",11.1,3,0) 3^F^172.101^.05^^3^F "IX",172.101,172.101,"PSO",11.1,3,3) "IX",172.101,172.101,"SPO",0) 172.101^SPO^REGULAR INDEX OF SUBJECT PREDICATE OBJECT^R^^R^IR^I^172.101^^^^^LS "IX",172.101,172.101,"SPO",1) S ^C0X(101,"SPO",X(1),X(2),X(3),DA)="" "IX",172.101,172.101,"SPO",2) K ^C0X(101,"SPO",X(1),X(2),X(3),DA) "IX",172.101,172.101,"SPO",2.5) K ^C0X(101,"SPO") "IX",172.101,172.101,"SPO",11.1,0) ^.114IA^3^3 "IX",172.101,172.101,"SPO",11.1,1,0) 1^F^172.101^.03^^1^F "IX",172.101,172.101,"SPO",11.1,1,3) "IX",172.101,172.101,"SPO",11.1,2,0) 2^F^172.101^.04^^2^F "IX",172.101,172.101,"SPO",11.1,2,3) "IX",172.101,172.101,"SPO",11.1,3,0) 3^F^172.101^.05^^3^F "IX",172.101,172.101,"SPO",11.1,3,3) "MBREQ") 0 "QUES","XPF1",0) Y "QUES","XPF1","??") ^D REP^XPDH "QUES","XPF1","A") Shall I write over your |FLAG| File "QUES","XPF1","B") YES "QUES","XPF1","M") D XPF1^XPDIQ "QUES","XPF2",0) Y "QUES","XPF2","??") ^D DTA^XPDH "QUES","XPF2","A") Want my data |FLAG| yours "QUES","XPF2","B") YES "QUES","XPF2","M") D XPF2^XPDIQ "QUES","XPI1",0) YO "QUES","XPI1","??") ^D INHIBIT^XPDH "QUES","XPI1","A") Want KIDS to INHIBIT LOGONs during the install "QUES","XPI1","B") NO "QUES","XPI1","M") D XPI1^XPDIQ "QUES","XPM1",0) PO^VA(200,:EM "QUES","XPM1","??") ^D MG^XPDH "QUES","XPM1","A") Enter the Coordinator for Mail Group '|FLAG|' "QUES","XPM1","B") "QUES","XPM1","M") D XPM1^XPDIQ "QUES","XPO1",0) Y "QUES","XPO1","??") ^D MENU^XPDH "QUES","XPO1","A") Want KIDS to Rebuild Menu Trees Upon Completion of Install "QUES","XPO1","B") NO "QUES","XPO1","M") D XPO1^XPDIQ "QUES","XPZ1",0) Y "QUES","XPZ1","??") ^D OPT^XPDH "QUES","XPZ1","A") Want to DISABLE Scheduled Options, Menu Options, and Protocols "QUES","XPZ1","B") NO "QUES","XPZ1","M") D XPZ1^XPDIQ "QUES","XPZ2",0) Y "QUES","XPZ2","??") ^D RTN^XPDH "QUES","XPZ2","A") Want to MOVE routines to other CPUs "QUES","XPZ2","B") NO "QUES","XPZ2","M") D XPZ2^XPDIQ "RTN") 1 "RTN","C0XMAIN") 0^1^B11207527 "RTN","C0XMAIN",1,0) C0XMAIN ; GPL - Fileman Triples entry point routine ;10/13/11 17:05 "RTN","C0XMAIN",2,0) ;;0.1;C0X;nopatch;noreleasedate;Build 1 "RTN","C0XMAIN",3,0) ;Copyright 2011 George Lilly. Licensed under the terms of the GNU "RTN","C0XMAIN",4,0) ;General Public License See attached copy of the License. "RTN","C0XMAIN",5,0) ; "RTN","C0XMAIN",6,0) ;This program is free software; you can redistribute it and/or modify "RTN","C0XMAIN",7,0) ;it under the terms of the GNU General Public License as published by "RTN","C0XMAIN",8,0) ;the Free Software Foundation; either version 2 of the License, or "RTN","C0XMAIN",9,0) ;(at your option) any later version. "RTN","C0XMAIN",10,0) ; "RTN","C0XMAIN",11,0) ;This program is distributed in the hope that it will be useful, "RTN","C0XMAIN",12,0) ;but WITHOUT ANY WARRANTY; without even the implied warranty of "RTN","C0XMAIN",13,0) ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the "RTN","C0XMAIN",14,0) ;GNU General Public License for more details. "RTN","C0XMAIN",15,0) ; "RTN","C0XMAIN",16,0) ;You should have received a copy of the GNU General Public License along "RTN","C0XMAIN",17,0) ;with this program; if not, write to the Free Software Foundation, Inc., "RTN","C0XMAIN",18,0) ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. "RTN","C0XMAIN",19,0) ; "RTN","C0XMAIN",20,0) Q "RTN","C0XMAIN",21,0) ; "RTN","C0XMAIN",22,0) INITFARY(ZFARY) ; INITIALIZE FILE NUMBERS AND OTHER USEFUL THINGS "RTN","C0XMAIN",23,0) ; FOR THE DEFAULT TRIPLE STORE. USE OTHER VALUES FOR SUPPORTING ADDITIONAL "RTN","C0XMAIN",24,0) ; TRIPLE STORES "RTN","C0XMAIN",25,0) S @ZFARY@("C0XTFN")=172.101 ; TRIPLES FILE NUMBER "RTN","C0XMAIN",26,0) S @ZFARY@("C0XSFN")=172.201 ; TRIPLES STRINGS FILE NUMBER "RTN","C0XMAIN",27,0) S @ZFARY@("C0XTN")=$NA(^C0X(101)) ; TRIPLES GLOBAL NAME "RTN","C0XMAIN",28,0) S @ZFARY@("C0XSN")=$NA(^C0X(201)) ; STRING FILE GLOBAL NAME "RTN","C0XMAIN",29,0) S @ZFARY@("C0XDIR")="/home/glilly/all_smart_patient_data/smart-rdf/" "RTN","C0XMAIN",30,0) D USEFARY(ZFARY) "RTN","C0XMAIN",31,0) Q "RTN","C0XMAIN",32,0) ; "RTN","C0XMAIN",33,0) USEFARY(ZFARY) ; INITIALIZES VARIABLES SAVED IN ARRAY ZFARY "RTN","C0XMAIN",34,0) N ZI S ZI="" "RTN","C0XMAIN",35,0) F S ZI=$O(@ZFARY@(ZI)) Q:ZI="" D "RTN","C0XMAIN",36,0) . ;N ZX "RTN","C0XMAIN",37,0) . S ZX="S "_ZI_"="""_@ZFARY@(ZI)_"""" "RTN","C0XMAIN",38,0) . ;W !,ZX "RTN","C0XMAIN",39,0) . X ZX "RTN","C0XMAIN",40,0) Q "RTN","C0XMAIN",41,0) ; "RTN","C0XMAIN",42,0) IMPORT(FNAME,FDIR,FURL,FARY) ; EXTRINSIC THAT READS A FILE FROM THE STANDARD "RTN","C0XMAIN",43,0) ; DIRECTORY, LOADS IT INTO THE TRIPLESTORE AS TEXT, AND RETURNS THE "RTN","C0XMAIN",44,0) ; NODE NAME OF THE TEXT TRIPLE "RTN","C0XMAIN",45,0) ; FDIR IS THE OPTIONAL DIRECTORY (DEFAUTS TO STANDARD DIR) "RTN","C0XMAIN",46,0) ; FURL IS THE OPTIONAL URI FOR ACCESSING THE FILE FROM THE TRIPLE STORE "RTN","C0XMAIN",47,0) ; FARY IS THE OPTIONAL FILE ARRAY OF THE TRIPLE STORE TO USE "RTN","C0XMAIN",48,0) I '$D(FARY) D ; "RTN","C0XMAIN",49,0) . D INITFARY("C0XFARY") "RTN","C0XMAIN",50,0) . S FARY="C0XFARY" "RTN","C0XMAIN",51,0) D USEFARY(FARY) "RTN","C0XMAIN",52,0) N ZD,ZTMP "RTN","C0XMAIN",53,0) I '$D(FDIR) S FDIR=C0XDIR ; DIRECTORY OF THE RDF FILE "RTN","C0XMAIN",54,0) I '$D(FURL) D ; "RTN","C0XMAIN",55,0) . N ZN2 S ZN2=$TR(FNAME,".","_") ; REMOVE THE DOT FROM THE NAME "RTN","C0XMAIN",56,0) . S FURL="/local/files/"_ZN2 "RTN","C0XMAIN",57,0) N ZGRAPH,ZSUBJECT "RTN","C0XMAIN",58,0) S ZGRAPH="G"_$$LKY9 ; RANDOM GRAPH NAME "RTN","C0XMAIN",59,0) S ZSUBJECT="_S"_$$LKY9 ; RANDOM ANOYMOUS SUBJECT "RTN","C0XMAIN",60,0) D ADD(ZGRAPH,ZSUBJECT,"v:url",FURL) "RTN","C0XMAIN",61,0) N ZTXTNM "RTN","C0XMAIN",62,0) S ZTXTNM="_TXT_INCOMING_RDF_FILE_"_$$LKY9 ; NAME FOR TEXT NODE "RTN","C0XMAIN",63,0) D ADD(ZGRAPH,ZSUBJECT,"v:rdfSource",ZTXTNM) "RTN","C0XMAIN",64,0) D UPDIE(.C0XFDA) ; TRY IT OUT "RTN","C0XMAIN",65,0) K C0XCNT ;RESET FOR NEXT TIME "RTN","C0XMAIN",66,0) Q "RTN","C0XMAIN",67,0) ; "RTN","C0XMAIN",68,0) ADD(ZG,ZS,ZP,ZO,FARY) ; ADD A TRIPLE TO THE TRIPLESTORE. ALL VALUES ARE TEXT "RTN","C0XMAIN",69,0) ; THE FDA IS SET UP BUT THE FILES ARE NOT UPDATED. CALL UPDIE TO COMPLETE "RTN","C0XMAIN",70,0) I '$D(FARY) D ; "RTN","C0XMAIN",71,0) . D INITFARY("C0XFARY") "RTN","C0XMAIN",72,0) . S FARY="C0XFARY" "RTN","C0XMAIN",73,0) D USEFARY(FARY) "RTN","C0XMAIN",74,0) I '$D(C0XCNT) S C0XCNT=0 "RTN","C0XMAIN",75,0) N ZNODE "RTN","C0XMAIN",76,0) S ZNODE="N"_$$LKY9 "RTN","C0XMAIN",77,0) S ZGIEN=$$IENOF(ZG) ; LAYGO TO GET IEN "RTN","C0XMAIN",78,0) S ZSIEN=$$IENOF(ZS) "RTN","C0XMAIN",79,0) S ZPIEN=$$IENOF(ZP) "RTN","C0XMAIN",80,0) S ZOIEN=$$IENOF(ZO) "RTN","C0XMAIN",81,0) ;I $D(C0XFDA) D UPDIE ; ADD THE STRINGS IF NEEDED "RTN","C0XMAIN",82,0) S C0XCNT=C0XCNT+1 "RTN","C0XMAIN",83,0) S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.01)=ZNODE "RTN","C0XMAIN",84,0) S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.02)=ZGIEN "RTN","C0XMAIN",85,0) S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.03)=ZSIEN "RTN","C0XMAIN",86,0) S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.04)=ZPIEN "RTN","C0XMAIN",87,0) S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.05)=ZOIEN "RTN","C0XMAIN",88,0) ; REMEMBER TO CALL UPDIE WHEN YOU'RE DONE "RTN","C0XMAIN",89,0) Q "RTN","C0XMAIN",90,0) ; "RTN","C0XMAIN",91,0) LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING "RTN","C0XMAIN",92,0) ; UNIQUE NODE AND GRAPH NAMES "RTN","C0XMAIN",93,0) N ZN,ZI "RTN","C0XMAIN",94,0) S ZN="" "RTN","C0XMAIN",95,0) F ZI=1:1:9 D ; "RTN","C0XMAIN",96,0) . S ZN=ZN_$R(10) "RTN","C0XMAIN",97,0) Q ZN "RTN","C0XMAIN",98,0) ; "RTN","C0XMAIN",99,0) IENOF(ZSTRING,FARY) ; EXTRINSIC WHICH RETURNS THE IEN OF ZS IN THE STRINGS FILE "RTN","C0XMAIN",100,0) I '$D(FARY) D ; "RTN","C0XMAIN",101,0) . D INITFARY("C0XFARY") "RTN","C0XMAIN",102,0) . S FARY="C0XFARY" "RTN","C0XMAIN",103,0) N ZIEN "RTN","C0XMAIN",104,0) S ZIEN=$O(@C0XSN@("B",ZSTRING,"")) "RTN","C0XMAIN",105,0) I ZIEN="" D ; "RTN","C0XMAIN",106,0) . S C0XFDA2(C0XSFN,"+1,",.01)=ZSTRING "RTN","C0XMAIN",107,0) . D UPDIE(.C0XFDA2) "RTN","C0XMAIN",108,0) . S ZIEN=$O(@C0XSN@("B",ZSTRING,"")) "RTN","C0XMAIN",109,0) . K C0XFDA2 "RTN","C0XMAIN",110,0) Q ZIEN "RTN","C0XMAIN",111,0) ; "RTN","C0XMAIN",112,0) UPDIE(ZFDA) ; INTERNAL ROUTINE TO CALL UPDATE^DIE AND CHECK FOR ERRORS "RTN","C0XMAIN",113,0) ; ZFDA IS PASSED BY REFERENCE "RTN","C0XMAIN",114,0) K ZERR "RTN","C0XMAIN",115,0) D CLEAN^DILF "RTN","C0XMAIN",116,0) D UPDATE^DIE("","ZFDA","","ZERR") "RTN","C0XMAIN",117,0) I $D(ZERR) S ZZERR=ZZERR ; ZZERR DOESN'T EXIST, INVOKE THE ERROR TRAP IF TASKED "RTN","C0XMAIN",118,0) ;. W "ERROR",! "RTN","C0XMAIN",119,0) ;. ZWR ZERR "RTN","C0XMAIN",120,0) ;. B "RTN","C0XMAIN",121,0) K ZFDA "RTN","C0XMAIN",122,0) Q "RTN","C0XMAIN",123,0) ; "SEC","^DIC",172.101,172.101,0,"AUDIT") @ "SEC","^DIC",172.101,172.101,0,"DD") @ "SEC","^DIC",172.101,172.101,0,"DEL") @ "SEC","^DIC",172.101,172.101,0,"LAYGO") @ "SEC","^DIC",172.101,172.101,0,"RD") @ "SEC","^DIC",172.101,172.101,0,"WR") @ "SEC","^DIC",172.201,172.201,0,"AUDIT") @ "SEC","^DIC",172.201,172.201,0,"DD") @ "SEC","^DIC",172.201,172.201,0,"DEL") @ "SEC","^DIC",172.201,172.201,0,"LAYGO") @ "SEC","^DIC",172.201,172.201,0,"RD") @ "SEC","^DIC",172.201,172.201,0,"WR") @ "VER") 8.0^22.0 "^DD",172.101,172.101,0) FIELD^^.05^5 "^DD",172.101,172.101,0,"DDA") N "^DD",172.101,172.101,0,"DT") 3111013 "^DD",172.101,172.101,0,"ID",.02) S %I=Y,Y=$S('$D(^(0)):"",$D(^C0X(201,+$P(^(0),U,2),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(172.201,.01,0),U,2) D Y^DIQ:Y]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I "^DD",172.101,172.101,0,"ID",.03) S %I=Y,Y=$S('$D(^(0)):"",$D(^C0X(201,+$P(^(0),U,3),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(172.201,.01,0),U,2) D Y^DIQ:Y]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I "^DD",172.101,172.101,0,"ID",.04) S %I=Y,Y=$S('$D(^(0)):"",$D(^C0X(201,+$P(^(0),U,4),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(172.201,.01,0),U,2) D Y^DIQ:Y]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I "^DD",172.101,172.101,0,"ID",.05) S %I=Y,Y=$S('$D(^(0)):"",$D(^C0X(201,+$P(^(0),U,5),0))#2:$P(^(0),U,1),1:""),C=$P(^DD(172.201,.01,0),U,2) D Y^DIQ:Y]"" W " ",Y,@("$E("_DIC_"%I,0),0)") S Y=%I K %I "^DD",172.101,172.101,0,"IX","B",172.101,.01) "^DD",172.101,172.101,0,"NM","C0X TRIPLE") "^DD",172.101,172.101,.01,0) NODEID^RF^^0;1^K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X "^DD",172.101,172.101,.01,.1) TRIPLE NODE ID "^DD",172.101,172.101,.01,1,0) ^.1 "^DD",172.101,172.101,.01,1,1,0) 172.101^B "^DD",172.101,172.101,.01,1,1,1) S ^C0X(101,"B",$E(X,1,30),DA)="" "^DD",172.101,172.101,.01,1,1,2) K ^C0X(101,"B",$E(X,1,30),DA) "^DD",172.101,172.101,.01,3) Answer must be 3-30 characters in length "^DD",172.101,172.101,.01,"DT") 3111013 "^DD",172.101,172.101,.02,0) GRAPH^P172.201^C0X(201,^0;2^Q "^DD",172.101,172.101,.02,.1) TRIPLE GRAPH "^DD",172.101,172.101,.02,3) Answer must be 3-240 characters in length "^DD",172.101,172.101,.02,"DT") 3111013 "^DD",172.101,172.101,.03,0) SUBJECT^P172.201^C0X(201,^0;3^Q "^DD",172.101,172.101,.03,.1) TRIPLE SUBJECT "^DD",172.101,172.101,.03,"DT") 3111013 "^DD",172.101,172.101,.04,0) PREDICATE^P172.201^C0X(201,^0;4^Q "^DD",172.101,172.101,.04,.1) TRIPLE PREDICATE "^DD",172.101,172.101,.04,"DT") 3111013 "^DD",172.101,172.101,.05,0) OBJECT^P172.201^C0X(201,^0;5^Q "^DD",172.101,172.101,.05,.1) TRIPLE OBJECT "^DD",172.101,172.101,.05,"DT") 3111013 "^DD",172.201,172.201,0) FIELD^^1^2 "^DD",172.201,172.201,0,"DDA") N "^DD",172.201,172.201,0,"DT") 3111013 "^DD",172.201,172.201,0,"IX","B",172.201,.01) "^DD",172.201,172.201,0,"NM","C0X STRING") "^DD",172.201,172.201,0,"PT",172.101,.02) "^DD",172.201,172.201,0,"PT",172.101,.03) "^DD",172.201,172.201,0,"PT",172.101,.04) "^DD",172.201,172.201,0,"PT",172.101,.05) "^DD",172.201,172.201,.01,0) STRING^RF^^0;1^K:$L(X)>240!($L(X)<1)!'(X=X) X "^DD",172.201,172.201,.01,.1) TRIPLE STRING "^DD",172.201,172.201,.01,1,0) ^.1 "^DD",172.201,172.201,.01,1,1,0) 172.201^B "^DD",172.201,172.201,.01,1,1,1) S ^C0X(201,"B",$E(X,1,30),DA)="" "^DD",172.201,172.201,.01,1,1,2) K ^C0X(201,"B",$E(X,1,30),DA) "^DD",172.201,172.201,.01,3) Answer must be 1-240 characters in length "^DD",172.201,172.201,.01,"DT") 3111013 "^DD",172.201,172.201,1,0) TEXT^172.2011^^1;0 "^DD",172.201,172.2011,0) TEXT SUB-FIELD^^.01^1 "^DD",172.201,172.2011,0,"DT") 3111013 "^DD",172.201,172.2011,0,"NM","TEXT") "^DD",172.201,172.2011,0,"UP") 172.201 "^DD",172.201,172.2011,.01,0) TEXT^Wx^^0;1 "^DD",172.201,172.2011,.01,.1) LONGER TEXT "^DD",172.201,172.2011,.01,"DT") 3111013 "^DIC",172.101,172.101,0) C0X TRIPLE^172.101 "^DIC",172.101,172.101,0,"GL") ^C0X(101, "^DIC",172.101,"B","C0X TRIPLE",172.101) "^DIC",172.201,172.201,0) C0X STRING^172.201 "^DIC",172.201,172.201,0,"GL") ^C0X(201, "^DIC",172.201,"B","C0X STRING",172.201) **END** **END**