Proper KIDS build + Routines
This commit is contained in:
parent
2b562cb1eb
commit
5da329af8b
|
@ -1,720 +0,0 @@
|
||||||
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**
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,149 +1,159 @@
|
||||||
KIDS Distribution saved on Sep 26, 2012@04:22:32
|
KIDS Distribution saved on Sep 26, 2012@11:18:36
|
||||||
fixes for smart snomed lookup
|
Fileman Triple Store
|
||||||
**KIDS**:C0X*1.0*0^
|
**KIDS**:FILEMAN TRIPLE STORE 1.0^
|
||||||
|
|
||||||
**INSTALL NAME**
|
**INSTALL NAME**
|
||||||
C0X*1.0*0
|
FILEMAN TRIPLE STORE 1.0
|
||||||
"BLD",7921,0)
|
"BLD",8490,0)
|
||||||
C0X*1.0*0^^0^3120926^n
|
FILEMAN TRIPLE STORE 1.0^FILEMAN TRIPLE STORE^0^3120926^y
|
||||||
"BLD",7921,4,0)
|
"BLD",8490,1,0)
|
||||||
|
^^1^1^3120926^
|
||||||
|
"BLD",8490,1,1,0)
|
||||||
|
Version 1.0
|
||||||
|
"BLD",8490,4,0)
|
||||||
^9.64PA^172.201^2
|
^9.64PA^172.201^2
|
||||||
"BLD",7921,4,172.101,0)
|
"BLD",8490,4,172.101,0)
|
||||||
172.101
|
172.101
|
||||||
"BLD",7921,4,172.101,222)
|
"BLD",8490,4,172.101,222)
|
||||||
y^y^f^^^^n
|
y^y^f^^^^n
|
||||||
"BLD",7921,4,172.201,0)
|
"BLD",8490,4,172.201,0)
|
||||||
172.201
|
172.201
|
||||||
"BLD",7921,4,172.201,222)
|
"BLD",8490,4,172.201,222)
|
||||||
y^y^f^^^^n
|
y^y^f^^^^n
|
||||||
"BLD",7921,4,"B",172.101,172.101)
|
"BLD",8490,4,"B",172.101,172.101)
|
||||||
|
|
||||||
"BLD",7921,4,"B",172.201,172.201)
|
"BLD",8490,4,"B",172.201,172.201)
|
||||||
|
|
||||||
"BLD",7921,6.3)
|
"BLD",8490,6.3)
|
||||||
10
|
11
|
||||||
"BLD",7921,"KRN",0)
|
"BLD",8490,"ABPKG")
|
||||||
|
n
|
||||||
|
"BLD",8490,"KRN",0)
|
||||||
^9.67PA^779.2^20
|
^9.67PA^779.2^20
|
||||||
"BLD",7921,"KRN",.4,0)
|
"BLD",8490,"KRN",.4,0)
|
||||||
.4
|
.4
|
||||||
"BLD",7921,"KRN",.4,"NM",0)
|
"BLD",8490,"KRN",.4,"NM",0)
|
||||||
^9.68A^1^1
|
^9.68A^1^1
|
||||||
"BLD",7921,"KRN",.4,"NM",1,0)
|
"BLD",8490,"KRN",.4,"NM",1,0)
|
||||||
C0X PRINT GRAPH FILE #172.101^172.101^0
|
C0X PRINT GRAPH FILE #172.101^172.101^0
|
||||||
"BLD",7921,"KRN",.4,"NM","B","C0X PRINT GRAPH FILE #172.101",1)
|
"BLD",8490,"KRN",.4,"NM","B","C0X PRINT GRAPH FILE #172.101",1)
|
||||||
|
|
||||||
"BLD",7921,"KRN",.401,0)
|
"BLD",8490,"KRN",.401,0)
|
||||||
.401
|
.401
|
||||||
"BLD",7921,"KRN",.402,0)
|
"BLD",8490,"KRN",.402,0)
|
||||||
.402
|
.402
|
||||||
"BLD",7921,"KRN",.403,0)
|
"BLD",8490,"KRN",.403,0)
|
||||||
.403
|
.403
|
||||||
"BLD",7921,"KRN",.5,0)
|
"BLD",8490,"KRN",.5,0)
|
||||||
.5
|
.5
|
||||||
"BLD",7921,"KRN",.84,0)
|
"BLD",8490,"KRN",.84,0)
|
||||||
.84
|
.84
|
||||||
"BLD",7921,"KRN",3.6,0)
|
"BLD",8490,"KRN",3.6,0)
|
||||||
3.6
|
3.6
|
||||||
"BLD",7921,"KRN",3.8,0)
|
"BLD",8490,"KRN",3.8,0)
|
||||||
3.8
|
3.8
|
||||||
"BLD",7921,"KRN",9.2,0)
|
"BLD",8490,"KRN",9.2,0)
|
||||||
9.2
|
9.2
|
||||||
"BLD",7921,"KRN",9.8,0)
|
"BLD",8490,"KRN",9.8,0)
|
||||||
9.8
|
9.8
|
||||||
"BLD",7921,"KRN",9.8,"NM",0)
|
"BLD",8490,"KRN",9.8,"NM",0)
|
||||||
^9.68A^8^8
|
^9.68A^8^8
|
||||||
"BLD",7921,"KRN",9.8,"NM",1,0)
|
"BLD",8490,"KRN",9.8,"NM",1,0)
|
||||||
C0XMAIN^^0^B115393527
|
C0XMAIN^^0^B115393527
|
||||||
"BLD",7921,"KRN",9.8,"NM",2,0)
|
"BLD",8490,"KRN",9.8,"NM",2,0)
|
||||||
C0XF2N^^0^B367797666
|
C0XF2N^^0^B367797666
|
||||||
"BLD",7921,"KRN",9.8,"NM",3,0)
|
"BLD",8490,"KRN",9.8,"NM",3,0)
|
||||||
C0XTEST^^0^B14490662
|
C0XTEST^^0^B14490662
|
||||||
"BLD",7921,"KRN",9.8,"NM",4,0)
|
"BLD",8490,"KRN",9.8,"NM",4,0)
|
||||||
C0XINIT^^0^B21176787
|
C0XINIT^^0^B21176787
|
||||||
"BLD",7921,"KRN",9.8,"NM",5,0)
|
"BLD",8490,"KRN",9.8,"NM",5,0)
|
||||||
C0XUTIL^^0^B11676522
|
C0XUTIL^^0^B11676522
|
||||||
"BLD",7921,"KRN",9.8,"NM",6,0)
|
"BLD",8490,"KRN",9.8,"NM",6,0)
|
||||||
C0XTKSB^^0^B17580555
|
C0XTKSB^^0^B17753558
|
||||||
"BLD",7921,"KRN",9.8,"NM",7,0)
|
"BLD",8490,"KRN",9.8,"NM",7,0)
|
||||||
C0XRDF^^0^B4392
|
C0XRDF^^0^B9306574
|
||||||
"BLD",7921,"KRN",9.8,"NM",8,0)
|
"BLD",8490,"KRN",9.8,"NM",8,0)
|
||||||
C0XGET1^^0^B4808799
|
C0XGET1^^0^B237497267
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XF2N",2)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XF2N",2)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XGET1",8)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XGET1",8)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XINIT",4)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XINIT",4)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XMAIN",1)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XMAIN",1)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XRDF",7)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XRDF",7)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XTEST",3)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XTEST",3)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XTKSB",6)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XTKSB",6)
|
||||||
|
|
||||||
"BLD",7921,"KRN",9.8,"NM","B","C0XUTIL",5)
|
"BLD",8490,"KRN",9.8,"NM","B","C0XUTIL",5)
|
||||||
|
|
||||||
"BLD",7921,"KRN",19,0)
|
"BLD",8490,"KRN",19,0)
|
||||||
19
|
19
|
||||||
"BLD",7921,"KRN",19.1,0)
|
"BLD",8490,"KRN",19.1,0)
|
||||||
19.1
|
19.1
|
||||||
"BLD",7921,"KRN",101,0)
|
"BLD",8490,"KRN",101,0)
|
||||||
101
|
101
|
||||||
"BLD",7921,"KRN",409.61,0)
|
"BLD",8490,"KRN",409.61,0)
|
||||||
409.61
|
409.61
|
||||||
"BLD",7921,"KRN",771,0)
|
"BLD",8490,"KRN",771,0)
|
||||||
771
|
771
|
||||||
"BLD",7921,"KRN",779.2,0)
|
"BLD",8490,"KRN",779.2,0)
|
||||||
779.2
|
779.2
|
||||||
"BLD",7921,"KRN",870,0)
|
"BLD",8490,"KRN",870,0)
|
||||||
870
|
870
|
||||||
"BLD",7921,"KRN",8989.51,0)
|
"BLD",8490,"KRN",8989.51,0)
|
||||||
8989.51
|
8989.51
|
||||||
"BLD",7921,"KRN",8989.52,0)
|
"BLD",8490,"KRN",8989.52,0)
|
||||||
8989.52
|
8989.52
|
||||||
"BLD",7921,"KRN",8994,0)
|
"BLD",8490,"KRN",8994,0)
|
||||||
8994
|
8994
|
||||||
"BLD",7921,"KRN","B",.4,.4)
|
"BLD",8490,"KRN","B",.4,.4)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",.401,.401)
|
"BLD",8490,"KRN","B",.401,.401)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",.402,.402)
|
"BLD",8490,"KRN","B",.402,.402)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",.403,.403)
|
"BLD",8490,"KRN","B",.403,.403)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",.5,.5)
|
"BLD",8490,"KRN","B",.5,.5)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",.84,.84)
|
"BLD",8490,"KRN","B",.84,.84)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",3.6,3.6)
|
"BLD",8490,"KRN","B",3.6,3.6)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",3.8,3.8)
|
"BLD",8490,"KRN","B",3.8,3.8)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",9.2,9.2)
|
"BLD",8490,"KRN","B",9.2,9.2)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",9.8,9.8)
|
"BLD",8490,"KRN","B",9.8,9.8)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",19,19)
|
"BLD",8490,"KRN","B",19,19)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",19.1,19.1)
|
"BLD",8490,"KRN","B",19.1,19.1)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",101,101)
|
"BLD",8490,"KRN","B",101,101)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",409.61,409.61)
|
"BLD",8490,"KRN","B",409.61,409.61)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",771,771)
|
"BLD",8490,"KRN","B",771,771)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",779.2,779.2)
|
"BLD",8490,"KRN","B",779.2,779.2)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",870,870)
|
"BLD",8490,"KRN","B",870,870)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",8989.51,8989.51)
|
"BLD",8490,"KRN","B",8989.51,8989.51)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",8989.52,8989.52)
|
"BLD",8490,"KRN","B",8989.52,8989.52)
|
||||||
|
|
||||||
"BLD",7921,"KRN","B",8994,8994)
|
"BLD",8490,"KRN","B",8994,8994)
|
||||||
|
|
||||||
|
"BLD",8490,"QUES",0)
|
||||||
|
^9.62^^
|
||||||
|
"BLD",8490,"REQB",0)
|
||||||
|
^9.611^^
|
||||||
"FIA",172.101)
|
"FIA",172.101)
|
||||||
C0X TRIPLE
|
C0X TRIPLE
|
||||||
"FIA",172.101,0)
|
"FIA",172.101,0)
|
||||||
|
@ -158,6 +168,8 @@ y^y^f^^^^n
|
||||||
|
|
||||||
"FIA",172.101,0,"RLRO")
|
"FIA",172.101,0,"RLRO")
|
||||||
|
|
||||||
|
"FIA",172.101,0,"VR")
|
||||||
|
1.0^FILEMAN TRIPLE STORE
|
||||||
"FIA",172.101,172.101)
|
"FIA",172.101,172.101)
|
||||||
0
|
0
|
||||||
"FIA",172.101,172.1011)
|
"FIA",172.101,172.1011)
|
||||||
|
@ -176,6 +188,8 @@ y^y^f^^^^n
|
||||||
|
|
||||||
"FIA",172.201,0,"RLRO")
|
"FIA",172.201,0,"RLRO")
|
||||||
|
|
||||||
|
"FIA",172.201,0,"VR")
|
||||||
|
1.0^FILEMAN TRIPLE STORE
|
||||||
"FIA",172.201,172.201)
|
"FIA",172.201,172.201)
|
||||||
0
|
0
|
||||||
"FIA",172.201,172.2011)
|
"FIA",172.201,172.2011)
|
||||||
|
@ -398,13 +412,13 @@ K ^C0X(201,"B")
|
||||||
^.114IA^1^1
|
^.114IA^1^1
|
||||||
"IX",172.201,172.201,"B",11.1,1,0)
|
"IX",172.201,172.201,"B",11.1,1,0)
|
||||||
1^F^172.201^.01^240^1^F
|
1^F^172.201^.01^240^1^F
|
||||||
"KRN",.4,1511,-1)
|
"KRN",.4,1513,-1)
|
||||||
0^1
|
0^1
|
||||||
"KRN",.4,1511,0)
|
"KRN",.4,1513,0)
|
||||||
C0X PRINT GRAPH^3111207.1727^@^172.101^^@^3120605
|
C0X PRINT GRAPH^3111207.1727^@^172.101^^@^3120605
|
||||||
"KRN",.4,1511,"F",1)
|
"KRN",.4,1513,"F",1)
|
||||||
.03;W25;S~.04;C28;W25~.05;C54;W24~
|
.03;W25;S~.04;C28;W25~.05;C54;W24~
|
||||||
"KRN",.4,1511,"H")
|
"KRN",.4,1513,"H")
|
||||||
C0X TRIPLE LIST
|
C0X TRIPLE LIST
|
||||||
"MBREQ")
|
"MBREQ")
|
||||||
0
|
0
|
||||||
|
@ -412,6 +426,24 @@ C0X TRIPLE LIST
|
||||||
.4;5;;;EDEOUT^DIFROMSO(.4,DA,"",XPDA);FPRE^DIFROMSI(.4,"",XPDA);EPRE^DIFROMSI(.4,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.4,DA,"",XPDA);DEL^DIFROMSK(.4,"",%)
|
.4;5;;;EDEOUT^DIFROMSO(.4,DA,"",XPDA);FPRE^DIFROMSI(.4,"",XPDA);EPRE^DIFROMSI(.4,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.4,DA,"",XPDA);DEL^DIFROMSK(.4,"",%)
|
||||||
"ORD",5,.4,0)
|
"ORD",5,.4,0)
|
||||||
PRINT TEMPLATE
|
PRINT TEMPLATE
|
||||||
|
"PKG",219,-1)
|
||||||
|
1^1
|
||||||
|
"PKG",219,0)
|
||||||
|
FILEMAN TRIPLE STORE^C0X^Triple Store based on Fileman
|
||||||
|
"PKG",219,20,0)
|
||||||
|
^9.402P^^
|
||||||
|
"PKG",219,22,0)
|
||||||
|
^9.49I^1^1
|
||||||
|
"PKG",219,22,1,0)
|
||||||
|
1.0^3120926
|
||||||
|
"PKG",219,22,1,1,0)
|
||||||
|
^^1^1^3120926
|
||||||
|
"PKG",219,22,1,1,1,0)
|
||||||
|
Version 1.0
|
||||||
|
"PKG",219,"DEV")
|
||||||
|
GPL/WV
|
||||||
|
"PKG",219,"VERSION")
|
||||||
|
1.0
|
||||||
"QUES","XPF1",0)
|
"QUES","XPF1",0)
|
||||||
Y
|
Y
|
||||||
"QUES","XPF1","??")
|
"QUES","XPF1","??")
|
||||||
|
@ -489,7 +521,7 @@ D XPZ2^XPDIQ
|
||||||
"RTN","C0XF2N",1,0)
|
"RTN","C0XF2N",1,0)
|
||||||
C0XF2N ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
C0XF2N ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
||||||
"RTN","C0XF2N",2,0)
|
"RTN","C0XF2N",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XF2N",3,0)
|
"RTN","C0XF2N",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XF2N",4,0)
|
"RTN","C0XF2N",4,0)
|
||||||
|
@ -1885,11 +1917,11 @@ UPDIE(ZFDA) ; INTERNAL ROUTINE TO CALL UPDATE^DIE AND CHECK FOR ERRORS
|
||||||
"RTN","C0XF2N",699,0)
|
"RTN","C0XF2N",699,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XGET1")
|
"RTN","C0XGET1")
|
||||||
0^8^B4808799
|
0^8^B237497267
|
||||||
"RTN","C0XGET1",1,0)
|
"RTN","C0XGET1",1,0)
|
||||||
C0XGET1 ; GPL - Fileman Triples entry point routine ;1/12/12 17:05
|
C0XGET1 ; GPL - Fileman Triples entry point routine ;1/12/12 17:05
|
||||||
"RTN","C0XGET1",2,0)
|
"RTN","C0XGET1",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XGET1",3,0)
|
"RTN","C0XGET1",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XGET1",4,0)
|
"RTN","C0XGET1",4,0)
|
||||||
|
@ -2015,7 +2047,7 @@ STR(ZIN,C0XFARY) ; EXTRINSIC RETURNS A STRING
|
||||||
"RTN","C0XGET1",64,0)
|
"RTN","C0XGET1",64,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XGET1",65,0)
|
"RTN","C0XGET1",65,0)
|
||||||
SPO(ZRTN,ZNODE,C0XFARY)
|
SPO(ZRTN,ZNODE,C0XFARY)
|
||||||
"RTN","C0XGET1",66,0)
|
"RTN","C0XGET1",66,0)
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
"RTN","C0XGET1",67,0)
|
"RTN","C0XGET1",67,0)
|
||||||
|
@ -2627,7 +2659,7 @@ trip(triprtn,nsub,npred,nobj,ngraph,fary) ; returns triples iens
|
||||||
"RTN","C0XGET1",370,0)
|
"RTN","C0XGET1",370,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XGET1",371,0)
|
"RTN","C0XGET1",371,0)
|
||||||
do0(dortn,zt,zi,z1,z2,z3)
|
do0(dortn,zt,zi,z1,z2,z3)
|
||||||
"RTN","C0XGET1",372,0)
|
"RTN","C0XGET1",372,0)
|
||||||
; looking for only one triple
|
; looking for only one triple
|
||||||
"RTN","C0XGET1",373,0)
|
"RTN","C0XGET1",373,0)
|
||||||
|
@ -2865,7 +2897,7 @@ tagRoot(ztag) ; extrinsic which returns the root for graphs and subjects
|
||||||
"RTN","C0XINIT",1,0)
|
"RTN","C0XINIT",1,0)
|
||||||
C0XINIT ; GPL - Fileman Triples initialization routine ;10/13/11 17:05
|
C0XINIT ; GPL - Fileman Triples initialization routine ;10/13/11 17:05
|
||||||
"RTN","C0XINIT",2,0)
|
"RTN","C0XINIT",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XINIT",3,0)
|
"RTN","C0XINIT",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XINIT",4,0)
|
"RTN","C0XINIT",4,0)
|
||||||
|
@ -3101,7 +3133,7 @@ INIT ; INITIALIZE THE TRIPLE STORE - THIS DELETES THE GLOBALS AND
|
||||||
"RTN","C0XMAIN",1,0)
|
"RTN","C0XMAIN",1,0)
|
||||||
C0XMAIN ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
C0XMAIN ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
||||||
"RTN","C0XMAIN",2,0)
|
"RTN","C0XMAIN",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XMAIN",3,0)
|
"RTN","C0XMAIN",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XMAIN",4,0)
|
"RTN","C0XMAIN",4,0)
|
||||||
|
@ -3853,11 +3885,11 @@ UPDIE(ZFDA) ; INTERNAL ROUTINE TO CALL UPDATE^DIE AND CHECK FOR ERRORS
|
||||||
"RTN","C0XMAIN",377,0)
|
"RTN","C0XMAIN",377,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF")
|
"RTN","C0XRDF")
|
||||||
0^7^B4392
|
0^7^B9306574
|
||||||
"RTN","C0XRDF",1,0)
|
"RTN","C0XRDF",1,0)
|
||||||
C0XRDF ; GPL - Fileman Triples RDF out ;11/07/11 17:05
|
C0XRDF ; GPL - Fileman Triples RDF out ;11/07/11 17:05
|
||||||
"RTN","C0XRDF",2,0)
|
"RTN","C0XRDF",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XRDF",3,0)
|
"RTN","C0XRDF",3,0)
|
||||||
;Copyright 2012 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2012 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XRDF",4,0)
|
"RTN","C0XRDF",4,0)
|
||||||
|
@ -3897,7 +3929,7 @@ C0XRDF ; GPL - Fileman Triples RDF out ;11/07/11 17:05
|
||||||
"RTN","C0XRDF",21,0)
|
"RTN","C0XRDF",21,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",22,0)
|
"RTN","C0XRDF",22,0)
|
||||||
REPLYSTART(ZARY);
|
REPLYSTART(ZARY);
|
||||||
"RTN","C0XRDF",23,0)
|
"RTN","C0XRDF",23,0)
|
||||||
D ADD(ZARY,"<?xml version=""1.0"" encoding=""UTF-8""?>")
|
D ADD(ZARY,"<?xml version=""1.0"" encoding=""UTF-8""?>")
|
||||||
"RTN","C0XRDF",24,0)
|
"RTN","C0XRDF",24,0)
|
||||||
|
@ -3907,13 +3939,13 @@ REPLYSTART(ZARY);
|
||||||
"RTN","C0XRDF",26,0)
|
"RTN","C0XRDF",26,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",27,0)
|
"RTN","C0XRDF",27,0)
|
||||||
LISTSTART(ZARY,ZNAM)
|
LISTSTART(ZARY,ZNAM)
|
||||||
"RTN","C0XRDF",28,0)
|
"RTN","C0XRDF",28,0)
|
||||||
Q
|
Q
|
||||||
"RTN","C0XRDF",29,0)
|
"RTN","C0XRDF",29,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",30,0)
|
"RTN","C0XRDF",30,0)
|
||||||
DICTSTART(ZARY,ZSUB)
|
DICTSTART(ZARY,ZSUB)
|
||||||
"RTN","C0XRDF",31,0)
|
"RTN","C0XRDF",31,0)
|
||||||
I ZSUB["http" D Q ;
|
I ZSUB["http" D Q ;
|
||||||
"RTN","C0XRDF",32,0)
|
"RTN","C0XRDF",32,0)
|
||||||
|
@ -3929,7 +3961,7 @@ DICTSTART(ZARY,ZSUB)
|
||||||
"RTN","C0XRDF",37,0)
|
"RTN","C0XRDF",37,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",38,0)
|
"RTN","C0XRDF",38,0)
|
||||||
DASSERT(ZARY,ZPRED,ZOBJ)
|
DASSERT(ZARY,ZPRED,ZOBJ)
|
||||||
"RTN","C0XRDF",39,0)
|
"RTN","C0XRDF",39,0)
|
||||||
I ZPRED[":" D Q ;
|
I ZPRED[":" D Q ;
|
||||||
"RTN","C0XRDF",40,0)
|
"RTN","C0XRDF",40,0)
|
||||||
|
@ -3969,7 +4001,7 @@ DASSERT(ZARY,ZPRED,ZOBJ)
|
||||||
"RTN","C0XRDF",57,0)
|
"RTN","C0XRDF",57,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",58,0)
|
"RTN","C0XRDF",58,0)
|
||||||
DICTEND(ZARY)
|
DICTEND(ZARY)
|
||||||
"RTN","C0XRDF",59,0)
|
"RTN","C0XRDF",59,0)
|
||||||
D ADD(ZARY,"</rdf:Description>")
|
D ADD(ZARY,"</rdf:Description>")
|
||||||
"RTN","C0XRDF",60,0)
|
"RTN","C0XRDF",60,0)
|
||||||
|
@ -3977,13 +4009,13 @@ DICTEND(ZARY)
|
||||||
"RTN","C0XRDF",61,0)
|
"RTN","C0XRDF",61,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",62,0)
|
"RTN","C0XRDF",62,0)
|
||||||
LISTEND(ZARY)
|
LISTEND(ZARY)
|
||||||
"RTN","C0XRDF",63,0)
|
"RTN","C0XRDF",63,0)
|
||||||
Q
|
Q
|
||||||
"RTN","C0XRDF",64,0)
|
"RTN","C0XRDF",64,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",65,0)
|
"RTN","C0XRDF",65,0)
|
||||||
REPLYEND(ZARY)
|
REPLYEND(ZARY)
|
||||||
"RTN","C0XRDF",66,0)
|
"RTN","C0XRDF",66,0)
|
||||||
D ADD(ZARY,"</rdf:RDF>")
|
D ADD(ZARY,"</rdf:RDF>")
|
||||||
"RTN","C0XRDF",67,0)
|
"RTN","C0XRDF",67,0)
|
||||||
|
@ -3991,7 +4023,7 @@ REPLYEND(ZARY)
|
||||||
"RTN","C0XRDF",68,0)
|
"RTN","C0XRDF",68,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XRDF",69,0)
|
"RTN","C0XRDF",69,0)
|
||||||
ADD(ZARY,ZELE)
|
ADD(ZARY,ZELE)
|
||||||
"RTN","C0XRDF",70,0)
|
"RTN","C0XRDF",70,0)
|
||||||
N ZI
|
N ZI
|
||||||
"RTN","C0XRDF",71,0)
|
"RTN","C0XRDF",71,0)
|
||||||
|
@ -4037,7 +4069,7 @@ rdfout(rdfout,zary) ;
|
||||||
"RTN","C0XTEST",1,0)
|
"RTN","C0XTEST",1,0)
|
||||||
C0XTEST ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
C0XTEST ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
||||||
"RTN","C0XTEST",2,0)
|
"RTN","C0XTEST",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XTEST",3,0)
|
"RTN","C0XTEST",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XTEST",4,0)
|
"RTN","C0XTEST",4,0)
|
||||||
|
@ -4285,275 +4317,277 @@ BLKERR ;
|
||||||
"RTN","C0XTEST",125,0)
|
"RTN","C0XTEST",125,0)
|
||||||
;
|
;
|
||||||
"RTN","C0XTKSB")
|
"RTN","C0XTKSB")
|
||||||
0^6^B17580555
|
0^6^B17753558
|
||||||
"RTN","C0XTKSB",1,0)
|
"RTN","C0XTKSB",1,0)
|
||||||
C0XTESTKSB ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
C0XTESTKSB ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
||||||
"RTN","C0XTKSB",2,0)
|
"RTN","C0XTKSB",2,0)
|
||||||
; KSB - modified to fix a minor bug and to use;;;;;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XTKSB",3,0)
|
"RTN","C0XTKSB",3,0)
|
||||||
; high resolution time if routines available ; 11/19/11 1410 EST
|
; KSB - modified to fix a minor bug and to use;;;;;Build 10
|
||||||
"RTN","C0XTKSB",4,0)
|
"RTN","C0XTKSB",4,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 1
|
; high resolution time if routines available ; 11/19/11 1410 EST
|
||||||
"RTN","C0XTKSB",5,0)
|
"RTN","C0XTKSB",5,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;;0.1;C0X;nopatch;noreleasedate;Build 1
|
||||||
"RTN","C0XTKSB",6,0)
|
"RTN","C0XTKSB",6,0)
|
||||||
;General Public License See attached copy of the License.
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XTKSB",7,0)
|
"RTN","C0XTKSB",7,0)
|
||||||
;
|
;General Public License See attached copy of the License.
|
||||||
"RTN","C0XTKSB",8,0)
|
"RTN","C0XTKSB",8,0)
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;
|
||||||
"RTN","C0XTKSB",9,0)
|
"RTN","C0XTKSB",9,0)
|
||||||
;it under the terms of the GNU General Public License as published by
|
;This program is free software; you can redistribute it and/or modify
|
||||||
"RTN","C0XTKSB",10,0)
|
"RTN","C0XTKSB",10,0)
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;it under the terms of the GNU General Public License as published by
|
||||||
"RTN","C0XTKSB",11,0)
|
"RTN","C0XTKSB",11,0)
|
||||||
;(at your option) any later version.
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
"RTN","C0XTKSB",12,0)
|
"RTN","C0XTKSB",12,0)
|
||||||
;
|
;(at your option) any later version.
|
||||||
"RTN","C0XTKSB",13,0)
|
"RTN","C0XTKSB",13,0)
|
||||||
;This program is distributed in the hope that it will be useful,
|
;
|
||||||
"RTN","C0XTKSB",14,0)
|
"RTN","C0XTKSB",14,0)
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;This program is distributed in the hope that it will be useful,
|
||||||
"RTN","C0XTKSB",15,0)
|
"RTN","C0XTKSB",15,0)
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
"RTN","C0XTKSB",16,0)
|
"RTN","C0XTKSB",16,0)
|
||||||
;GNU General Public License for more details.
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
"RTN","C0XTKSB",17,0)
|
"RTN","C0XTKSB",17,0)
|
||||||
;
|
;GNU General Public License for more details.
|
||||||
"RTN","C0XTKSB",18,0)
|
"RTN","C0XTKSB",18,0)
|
||||||
;You should have received a copy of the GNU General Public License along
|
;
|
||||||
"RTN","C0XTKSB",19,0)
|
"RTN","C0XTKSB",19,0)
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;You should have received a copy of the GNU General Public License along
|
||||||
"RTN","C0XTKSB",20,0)
|
"RTN","C0XTKSB",20,0)
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
"RTN","C0XTKSB",21,0)
|
"RTN","C0XTKSB",21,0)
|
||||||
;
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
"RTN","C0XTKSB",22,0)
|
"RTN","C0XTKSB",22,0)
|
||||||
Q
|
;
|
||||||
"RTN","C0XTKSB",23,0)
|
"RTN","C0XTKSB",23,0)
|
||||||
;
|
Q
|
||||||
"RTN","C0XTKSB",24,0)
|
"RTN","C0XTKSB",24,0)
|
||||||
EN ; run the test
|
;
|
||||||
"RTN","C0XTKSB",25,0)
|
"RTN","C0XTKSB",25,0)
|
||||||
;
|
EN ; run the test
|
||||||
"RTN","C0XTKSB",26,0)
|
"RTN","C0XTKSB",26,0)
|
||||||
k C0XFDA ; clear the node variable
|
;
|
||||||
"RTN","C0XTKSB",27,0)
|
"RTN","C0XTKSB",27,0)
|
||||||
s U="^" ; initialization - Bhaskar 20111119
|
k C0XFDA ; clear the node variable
|
||||||
"RTN","C0XTKSB",28,0)
|
"RTN","C0XTKSB",28,0)
|
||||||
i '$d(^C0X(101,0)) d ; global doesn't exist
|
s U="^" ; initialization - Bhaskar 20111119
|
||||||
"RTN","C0XTKSB",29,0)
|
"RTN","C0XTKSB",29,0)
|
||||||
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
i '$d(^C0X(101,0)) d ; global doesn't exist
|
||||||
"RTN","C0XTKSB",30,0)
|
"RTN","C0XTKSB",30,0)
|
||||||
n zg
|
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
||||||
"RTN","C0XTKSB",31,0)
|
"RTN","C0XTKSB",31,0)
|
||||||
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
n zg
|
||||||
"RTN","C0XTKSB",32,0)
|
"RTN","C0XTKSB",32,0)
|
||||||
n zi
|
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
||||||
"RTN","C0XTKSB",33,0)
|
"RTN","C0XTKSB",33,0)
|
||||||
f zi=1:1:10000 d ; try a test of 10000 nodes
|
n zi
|
||||||
"RTN","C0XTKSB",34,0)
|
"RTN","C0XTKSB",34,0)
|
||||||
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
f zi=1:1:10000 d ; try a test of 10000 nodes
|
||||||
"RTN","C0XTKSB",35,0)
|
"RTN","C0XTKSB",35,0)
|
||||||
. s C0XFDA(172.101,zi,.02)=zg
|
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
||||||
"RTN","C0XTKSB",36,0)
|
"RTN","C0XTKSB",36,0)
|
||||||
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
. s C0XFDA(172.101,zi,.02)=zg
|
||||||
"RTN","C0XTKSB",37,0)
|
"RTN","C0XTKSB",37,0)
|
||||||
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
||||||
"RTN","C0XTKSB",38,0)
|
"RTN","C0XTKSB",38,0)
|
||||||
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
||||||
"RTN","C0XTKSB",39,0)
|
"RTN","C0XTKSB",39,0)
|
||||||
S C0XST=$$H ; start of the insertion test
|
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
||||||
"RTN","C0XTKSB",40,0)
|
"RTN","C0XTKSB",40,0)
|
||||||
W !,"INSERTION STARTS AT ",$ZDATE(C0XST,"YEAR-MM-DD:24:60:SS"),!
|
S C0XST=$$H ; start of the insertion test
|
||||||
"RTN","C0XTKSB",41,0)
|
"RTN","C0XTKSB",41,0)
|
||||||
d BULKLOAD(.C0XFDA)
|
W !,"INSERTION STARTS AT ",$ZDATE(C0XST,"YEAR-MM-DD:24:60:SS"),!
|
||||||
"RTN","C0XTKSB",42,0)
|
"RTN","C0XTKSB",42,0)
|
||||||
s C0XEND=$$H ; end of the insertion test
|
d BULKLOAD(.C0XFDA)
|
||||||
"RTN","C0XTKSB",43,0)
|
"RTN","C0XTKSB",43,0)
|
||||||
W !,"INSERTION ENDS AT ",$ZDATE(C0XEND,"YEAR-MM-DD:24:60:SS")
|
s C0XEND=$$H ; end of the insertion test
|
||||||
"RTN","C0XTKSB",44,0)
|
"RTN","C0XTKSB",44,0)
|
||||||
S C0XDIFF=(86400*($P(C0XEND,",",1)-$P(C0XST,",",1)))+$P(C0XEND,",",2)-$P(C0XST,",",2)
|
W !,"INSERTION ENDS AT ",$ZDATE(C0XEND,"YEAR-MM-DD:24:60:SS")
|
||||||
"RTN","C0XTKSB",45,0)
|
"RTN","C0XTKSB",45,0)
|
||||||
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
S C0XDIFF=(86400*($P(C0XEND,",",1)-$P(C0XST,",",1)))+$P(C0XEND,",",2)-$P(C0XST,",",2)
|
||||||
"RTN","C0XTKSB",46,0)
|
"RTN","C0XTKSB",46,0)
|
||||||
W !
|
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
||||||
"RTN","C0XTKSB",47,0)
|
"RTN","C0XTKSB",47,0)
|
||||||
W:C0XDIFF>0 " APPROXIMATELY ",$FN(10000/C0XDIFF,",",0)," NODES PER SECOND",!
|
W !
|
||||||
"RTN","C0XTKSB",48,0)
|
"RTN","C0XTKSB",48,0)
|
||||||
q
|
W:C0XDIFF>0 " APPROXIMATELY ",$FN(10000/C0XDIFF,",",0)," NODES PER SECOND",!
|
||||||
"RTN","C0XTKSB",49,0)
|
"RTN","C0XTKSB",49,0)
|
||||||
;
|
q
|
||||||
"RTN","C0XTKSB",50,0)
|
"RTN","C0XTKSB",50,0)
|
||||||
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
;
|
||||||
"RTN","C0XTKSB",51,0)
|
"RTN","C0XTKSB",51,0)
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
"RTN","C0XTKSB",52,0)
|
"RTN","C0XTKSB",52,0)
|
||||||
N ZN,ZI
|
|
||||||
"RTN","C0XTKSB",53,0)
|
|
||||||
S ZN=""
|
|
||||||
"RTN","C0XTKSB",54,0)
|
|
||||||
F ZI=1:1:9 D ;
|
|
||||||
"RTN","C0XTKSB",55,0)
|
|
||||||
. S ZN=ZN_$R(10)
|
|
||||||
"RTN","C0XTKSB",56,0)
|
|
||||||
Q ZN
|
|
||||||
"RTN","C0XTKSB",57,0)
|
|
||||||
;
|
|
||||||
"RTN","C0XTKSB",58,0)
|
|
||||||
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
|
||||||
"RTN","C0XTKSB",59,0)
|
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
"RTN","C0XTKSB",60,0)
|
"RTN","C0XTKSB",53,0)
|
||||||
N ZN,ZI
|
N ZN,ZI
|
||||||
"RTN","C0XTKSB",61,0)
|
"RTN","C0XTKSB",54,0)
|
||||||
S ZN=""
|
S ZN=""
|
||||||
"RTN","C0XTKSB",62,0)
|
"RTN","C0XTKSB",55,0)
|
||||||
F ZI=1:1:17 D ;
|
F ZI=1:1:9 D ;
|
||||||
"RTN","C0XTKSB",63,0)
|
"RTN","C0XTKSB",56,0)
|
||||||
. S ZN=ZN_$R(10)
|
. S ZN=ZN_$R(10)
|
||||||
"RTN","C0XTKSB",64,0)
|
"RTN","C0XTKSB",57,0)
|
||||||
Q ZN
|
Q ZN
|
||||||
|
"RTN","C0XTKSB",58,0)
|
||||||
|
;
|
||||||
|
"RTN","C0XTKSB",59,0)
|
||||||
|
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
|
"RTN","C0XTKSB",60,0)
|
||||||
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
|
"RTN","C0XTKSB",61,0)
|
||||||
|
N ZN,ZI
|
||||||
|
"RTN","C0XTKSB",62,0)
|
||||||
|
S ZN=""
|
||||||
|
"RTN","C0XTKSB",63,0)
|
||||||
|
F ZI=1:1:17 D ;
|
||||||
|
"RTN","C0XTKSB",64,0)
|
||||||
|
. S ZN=ZN_$R(10)
|
||||||
"RTN","C0XTKSB",65,0)
|
"RTN","C0XTKSB",65,0)
|
||||||
;
|
Q ZN
|
||||||
"RTN","C0XTKSB",66,0)
|
"RTN","C0XTKSB",66,0)
|
||||||
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
;
|
||||||
"RTN","C0XTKSB",67,0)
|
"RTN","C0XTKSB",67,0)
|
||||||
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
||||||
"RTN","C0XTKSB",68,0)
|
"RTN","C0XTKSB",68,0)
|
||||||
; QUITS IF FILE IS NOT 172.101
|
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
||||||
"RTN","C0XTKSB",69,0)
|
"RTN","C0XTKSB",69,0)
|
||||||
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
; QUITS IF FILE IS NOT 172.101
|
||||||
"RTN","C0XTKSB",70,0)
|
"RTN","C0XTKSB",70,0)
|
||||||
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
||||||
"RTN","C0XTKSB",71,0)
|
"RTN","C0XTKSB",71,0)
|
||||||
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
||||||
"RTN","C0XTKSB",72,0)
|
"RTN","C0XTKSB",72,0)
|
||||||
; ZBFDA IS PASSED BY REFERENCE
|
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
||||||
"RTN","C0XTKSB",73,0)
|
"RTN","C0XTKSB",73,0)
|
||||||
;
|
; ZBFDA IS PASSED BY REFERENCE
|
||||||
"RTN","C0XTKSB",74,0)
|
"RTN","C0XTKSB",74,0)
|
||||||
; -- reserves a block of iens from file 172.101 by locking the zero node
|
;
|
||||||
"RTN","C0XTKSB",75,0)
|
"RTN","C0XTKSB",75,0)
|
||||||
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
; -- reserves a block of iens from file 172.101 by locking the zero node
|
||||||
"RTN","C0XTKSB",76,0)
|
"RTN","C0XTKSB",76,0)
|
||||||
; -- then unlocking to minimize the duration of the lock
|
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
||||||
"RTN","C0XTKSB",77,0)
|
"RTN","C0XTKSB",77,0)
|
||||||
;
|
; -- then unlocking to minimize the duration of the lock
|
||||||
"RTN","C0XTKSB",78,0)
|
"RTN","C0XTKSB",78,0)
|
||||||
W !,"USING BULKLOAD"
|
;
|
||||||
"RTN","C0XTKSB",79,0)
|
"RTN","C0XTKSB",79,0)
|
||||||
I '$D(ZBFDA) Q ; EMPTY FDA
|
W !,"USING BULKLOAD"
|
||||||
"RTN","C0XTKSB",80,0)
|
"RTN","C0XTKSB",80,0)
|
||||||
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
I '$D(ZBFDA) Q ; EMPTY FDA
|
||||||
"RTN","C0XTKSB",81,0)
|
"RTN","C0XTKSB",81,0)
|
||||||
N ZCNT,ZP3,ZP4
|
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
||||||
"RTN","C0XTKSB",82,0)
|
"RTN","C0XTKSB",82,0)
|
||||||
; -- find the number of nodes to insert
|
N ZCNT,ZP3,ZP4
|
||||||
"RTN","C0XTKSB",83,0)
|
"RTN","C0XTKSB",83,0)
|
||||||
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
; -- find the number of nodes to insert
|
||||||
"RTN","C0XTKSB",84,0)
|
"RTN","C0XTKSB",84,0)
|
||||||
I ZCNT="" D Q ;
|
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
||||||
"RTN","C0XTKSB",85,0)
|
"RTN","C0XTKSB",85,0)
|
||||||
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
I ZCNT="" D Q ;
|
||||||
"RTN","C0XTKSB",86,0)
|
"RTN","C0XTKSB",86,0)
|
||||||
. B
|
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
||||||
"RTN","C0XTKSB",87,0)
|
"RTN","C0XTKSB",87,0)
|
||||||
; -- lock the zero node and reserve a block of iens to insert
|
. B
|
||||||
"RTN","C0XTKSB",88,0)
|
"RTN","C0XTKSB",88,0)
|
||||||
W !,"LOCKING ZERO NODE"
|
; -- lock the zero node and reserve a block of iens to insert
|
||||||
"RTN","C0XTKSB",89,0)
|
"RTN","C0XTKSB",89,0)
|
||||||
LOCK +^C0X(101,0)
|
W !,"LOCKING ZERO NODE"
|
||||||
"RTN","C0XTKSB",90,0)
|
"RTN","C0XTKSB",90,0)
|
||||||
S ZP3=$P(^C0X(101,0),U,3)
|
LOCK +^C0X(101,0)
|
||||||
"RTN","C0XTKSB",91,0)
|
"RTN","C0XTKSB",91,0)
|
||||||
S ZP4=$P(^C0X(101,0),U,4)
|
S ZP3=$P(^C0X(101,0),U,3)
|
||||||
"RTN","C0XTKSB",92,0)
|
"RTN","C0XTKSB",92,0)
|
||||||
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
S ZP4=$P(^C0X(101,0),U,4)
|
||||||
"RTN","C0XTKSB",93,0)
|
"RTN","C0XTKSB",93,0)
|
||||||
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
||||||
"RTN","C0XTKSB",94,0)
|
"RTN","C0XTKSB",94,0)
|
||||||
LOCK -^C0X(101,0)
|
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
||||||
"RTN","C0XTKSB",95,0)
|
"RTN","C0XTKSB",95,0)
|
||||||
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
LOCK -^C0X(101,0)
|
||||||
"RTN","C0XTKSB",96,0)
|
"RTN","C0XTKSB",96,0)
|
||||||
S ZBASE=ZP3 ; the last ien in the file
|
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
||||||
"RTN","C0XTKSB",97,0)
|
"RTN","C0XTKSB",97,0)
|
||||||
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
S ZBASE=ZP3 ; the last ien in the file
|
||||||
"RTN","C0XTKSB",98,0)
|
"RTN","C0XTKSB",98,0)
|
||||||
W !,$ZDATE($$H,"YEAR-MM-DD:24:60:SS")
|
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
||||||
"RTN","C0XTKSB",99,0)
|
"RTN","C0XTKSB",99,0)
|
||||||
S ZI=""
|
W !,$ZDATE($$H,"YEAR-MM-DD:24:60:SS")
|
||||||
"RTN","C0XTKSB",100,0)
|
"RTN","C0XTKSB",100,0)
|
||||||
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
S ZI=""
|
||||||
"RTN","C0XTKSB",101,0)
|
"RTN","C0XTKSB",101,0)
|
||||||
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
||||||
"RTN","C0XTKSB",102,0)
|
"RTN","C0XTKSB",102,0)
|
||||||
. I ZN="" D BLKERR Q ;
|
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
||||||
"RTN","C0XTKSB",103,0)
|
"RTN","C0XTKSB",103,0)
|
||||||
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
. I ZN="" D BLKERR Q ;
|
||||||
"RTN","C0XTKSB",104,0)
|
"RTN","C0XTKSB",104,0)
|
||||||
. I ZG="" D BLKERR Q ;
|
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
||||||
"RTN","C0XTKSB",105,0)
|
"RTN","C0XTKSB",105,0)
|
||||||
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
. I ZG="" D BLKERR Q ;
|
||||||
"RTN","C0XTKSB",106,0)
|
"RTN","C0XTKSB",106,0)
|
||||||
. I ZS="" D BLKERR Q ;
|
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
||||||
"RTN","C0XTKSB",107,0)
|
"RTN","C0XTKSB",107,0)
|
||||||
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
. I ZS="" D BLKERR Q ;
|
||||||
"RTN","C0XTKSB",108,0)
|
"RTN","C0XTKSB",108,0)
|
||||||
. I ZP="" D BLKERR Q ;
|
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
||||||
"RTN","C0XTKSB",109,0)
|
"RTN","C0XTKSB",109,0)
|
||||||
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
. I ZP="" D BLKERR Q ;
|
||||||
"RTN","C0XTKSB",110,0)
|
"RTN","C0XTKSB",110,0)
|
||||||
. I ZO="" D BLKERR Q ;
|
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
||||||
"RTN","C0XTKSB",111,0)
|
"RTN","C0XTKSB",111,0)
|
||||||
. S ZIEN=ZI+ZBASE ; the new ien
|
. I ZO="" D BLKERR Q ;
|
||||||
"RTN","C0XTKSB",112,0)
|
"RTN","C0XTKSB",112,0)
|
||||||
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
. S ZIEN=ZI+ZBASE ; the new ien
|
||||||
"RTN","C0XTKSB",113,0)
|
"RTN","C0XTKSB",113,0)
|
||||||
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
||||||
"RTN","C0XTKSB",114,0)
|
"RTN","C0XTKSB",114,0)
|
||||||
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
||||||
"RTN","C0XTKSB",115,0)
|
"RTN","C0XTKSB",115,0)
|
||||||
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
||||||
"RTN","C0XTKSB",116,0)
|
"RTN","C0XTKSB",116,0)
|
||||||
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
||||||
"RTN","C0XTKSB",117,0)
|
"RTN","C0XTKSB",117,0)
|
||||||
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
||||||
"RTN","C0XTKSB",118,0)
|
"RTN","C0XTKSB",118,0)
|
||||||
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
||||||
"RTN","C0XTKSB",119,0)
|
"RTN","C0XTKSB",119,0)
|
||||||
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
||||||
"RTN","C0XTKSB",120,0)
|
"RTN","C0XTKSB",120,0)
|
||||||
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
||||||
"RTN","C0XTKSB",121,0)
|
"RTN","C0XTKSB",121,0)
|
||||||
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
||||||
"RTN","C0XTKSB",122,0)
|
"RTN","C0XTKSB",122,0)
|
||||||
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
||||||
"RTN","C0XTKSB",123,0)
|
"RTN","C0XTKSB",123,0)
|
||||||
Q
|
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
||||||
"RTN","C0XTKSB",124,0)
|
"RTN","C0XTKSB",124,0)
|
||||||
;
|
|
||||||
"RTN","C0XTKSB",125,0)
|
|
||||||
BLKERR ;
|
|
||||||
"RTN","C0XTKSB",126,0)
|
|
||||||
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
|
||||||
"RTN","C0XTKSB",127,0)
|
|
||||||
B
|
|
||||||
"RTN","C0XTKSB",128,0)
|
|
||||||
Q
|
Q
|
||||||
"RTN","C0XTKSB",129,0)
|
"RTN","C0XTKSB",125,0)
|
||||||
;
|
;
|
||||||
|
"RTN","C0XTKSB",126,0)
|
||||||
|
BLKERR ;
|
||||||
|
"RTN","C0XTKSB",127,0)
|
||||||
|
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
||||||
|
"RTN","C0XTKSB",128,0)
|
||||||
|
B
|
||||||
|
"RTN","C0XTKSB",129,0)
|
||||||
|
Q
|
||||||
"RTN","C0XTKSB",130,0)
|
"RTN","C0XTKSB",130,0)
|
||||||
H()
|
;
|
||||||
"RTN","C0XTKSB",131,0)
|
"RTN","C0XTKSB",131,0)
|
||||||
|
H()
|
||||||
|
"RTN","C0XTKSB",132,0)
|
||||||
quit:$length($ztrnlnm("GTMXC_posix"))&$length($text(zhorolog^%POSIX)) $$zhorolog^%POSIX quit $horolog
|
quit:$length($ztrnlnm("GTMXC_posix"))&$length($text(zhorolog^%POSIX)) $$zhorolog^%POSIX quit $horolog
|
||||||
"RTN","C0XUTIL")
|
"RTN","C0XUTIL")
|
||||||
0^5^B11676522
|
0^5^B11676522
|
||||||
"RTN","C0XUTIL",1,0)
|
"RTN","C0XUTIL",1,0)
|
||||||
C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
|
C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
|
||||||
"RTN","C0XUTIL",2,0)
|
"RTN","C0XUTIL",2,0)
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 10
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 11
|
||||||
"RTN","C0XUTIL",3,0)
|
"RTN","C0XUTIL",3,0)
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
"RTN","C0XUTIL",4,0)
|
"RTN","C0XUTIL",4,0)
|
1398
p/C0XF2N.m
1398
p/C0XF2N.m
File diff suppressed because it is too large
Load Diff
974
p/C0XGET1.m
974
p/C0XGET1.m
|
@ -1,487 +1,487 @@
|
||||||
C0XGET1 ; GPL - Fileman Triples entry point routine ;1/12/12 17:05
|
C0XGET1 ; GPL - Fileman Triples entry point routine ;1/12/12 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
LSSUBJ(RTN,ZSUBJ,C0XFARY) ; LIST NODES WITH SUBJECT ZSUBJ
|
LSSUBJ(RTN,ZSUBJ,C0XFARY) ; LIST NODES WITH SUBJECT ZSUBJ
|
||||||
;
|
;
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
D USEFARY^C0XF2N("C0XFARY")
|
D USEFARY^C0XF2N("C0XFARY")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
graph(sub,pred,obj,form,fary) ; extrinsic which returns a graph name
|
graph(sub,pred,obj,form,fary) ; extrinsic which returns a graph name
|
||||||
I '$D(fary) D ;
|
I '$D(fary) D ;
|
||||||
. S fary="C0XFARY"
|
. S fary="C0XFARY"
|
||||||
. D INITFARY^C0XF2N(fary)
|
. D INITFARY^C0XF2N(fary)
|
||||||
D USEFARY^C0XF2N(fary)
|
D USEFARY^C0XF2N(fary)
|
||||||
k triplertn ; start with a clean return
|
k triplertn ; start with a clean return
|
||||||
n zsub,zpred,zobj,zgraph,tmprtn
|
n zsub,zpred,zobj,zgraph,tmprtn
|
||||||
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of subject
|
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of subject
|
||||||
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of predicate
|
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of predicate
|
||||||
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of object
|
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of object
|
||||||
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
||||||
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
||||||
d trip(.tmprtn,zsub,zpred,zobj,zgraph,fary)
|
d trip(.tmprtn,zsub,zpred,zobj,zgraph,fary)
|
||||||
n ztmp
|
n ztmp
|
||||||
d trip(.ztmp,$g(sub),$g(pred),$g(obj),"",$g(fary))
|
d trip(.ztmp,$g(sub),$g(pred),$g(obj),"",$g(fary))
|
||||||
n zi,zg,zrtn
|
n zi,zg,zrtn
|
||||||
s zi=$o(tmprtn(""))
|
s zi=$o(tmprtn(""))
|
||||||
s zg=$$GET1^DIQ(C0XTFN,zi,.02,"E") ;
|
s zg=$$GET1^DIQ(C0XTFN,zi,.02,"E") ;
|
||||||
i zg="" q ""
|
i zg="" q ""
|
||||||
s zrtn=zg
|
s zrtn=zg
|
||||||
i $o(tmprtn(zi))'="" d
|
i $o(tmprtn(zi))'="" d
|
||||||
. s zrtn=""
|
. s zrtn=""
|
||||||
q zrtn
|
q zrtn
|
||||||
;
|
;
|
||||||
GRAPHS(RTN,C0XFARY) ; LIST ALL GRAPHS
|
GRAPHS(RTN,C0XFARY) ; LIST ALL GRAPHS
|
||||||
;
|
;
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
D USEFARY^C0XF2N("C0XFARY")
|
D USEFARY^C0XF2N("C0XFARY")
|
||||||
N ZI S ZI=""
|
N ZI S ZI=""
|
||||||
F S ZI=$O(@C0XTN@("G",ZI)) Q:ZI="" D ;
|
F S ZI=$O(@C0XTN@("G",ZI)) Q:ZI="" D ;
|
||||||
. S RTN(ZI,$$STR(ZI))=""
|
. S RTN(ZI,$$STR(ZI))=""
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
STR(ZIN,C0XFARY) ; EXTRINSIC RETURNS A STRING
|
STR(ZIN,C0XFARY) ; EXTRINSIC RETURNS A STRING
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
Q $$GET1^DIQ(C0XSFN,ZIN,.01,"E")
|
Q $$GET1^DIQ(C0XSFN,ZIN,.01,"E")
|
||||||
;
|
;
|
||||||
SPO(ZRTN,ZNODE,C0XFARY)
|
SPO(ZRTN,ZNODE,C0XFARY)
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
N ZI S ZI=$$NXT(.ZRTN)
|
N ZI S ZI=$$NXT(.ZRTN)
|
||||||
S ZRTN(ZI,"S")=$$S(ZNODE)
|
S ZRTN(ZI,"S")=$$S(ZNODE)
|
||||||
S ZRTN(ZI,"P")=$$P(ZNODE)
|
S ZRTN(ZI,"P")=$$P(ZNODE)
|
||||||
S ZRTN(ZI,"O")=$$O(ZNODE)
|
S ZRTN(ZI,"O")=$$O(ZNODE)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
S(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE SUBJECT
|
S(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE SUBJECT
|
||||||
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.03,"I")) ;
|
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.03,"I")) ;
|
||||||
;
|
;
|
||||||
P(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE PREDICATE
|
P(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE PREDICATE
|
||||||
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.04,"I")) ;
|
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.04,"I")) ;
|
||||||
;
|
;
|
||||||
O(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE OBJECT
|
O(ZNODE,C0XFARY) ; EXTRINSIC RETURNING THE OBJECT
|
||||||
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.05,"I")) ;
|
Q $$STR($$GET1^DIQ(C0XTFN,ZNODE,.05,"I")) ;
|
||||||
;
|
;
|
||||||
NXT(ZRTN) ;EXTRINSIC FOR THE NEXT NODE IN ARRAY ZRTN, PASSED BY REF
|
NXT(ZRTN) ;EXTRINSIC FOR THE NEXT NODE IN ARRAY ZRTN, PASSED BY REF
|
||||||
I '$D(ZRTN) S ZRTN=""
|
I '$D(ZRTN) S ZRTN=""
|
||||||
Q $O(ZRTN(""),-1)+1
|
Q $O(ZRTN(""),-1)+1
|
||||||
;
|
;
|
||||||
SING(ZRTN,ZG) ; SUBJECTS IN GRAPH
|
SING(ZRTN,ZG) ; SUBJECTS IN GRAPH
|
||||||
;
|
;
|
||||||
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
I '$D(C0XFARY) D INITFARY^C0XF2N("C0XFARY")
|
||||||
I '$D(ZRTN) S ZRTN=""
|
I '$D(ZRTN) S ZRTN=""
|
||||||
N ZI,ZN S ZI=""
|
N ZI,ZN S ZI=""
|
||||||
F S ZI=$O(@C0XTN@("GSPO",ZG,ZI)) Q:ZI="" D ;
|
F S ZI=$O(@C0XTN@("GSPO",ZG,ZI)) Q:ZI="" D ;
|
||||||
. S ZRTN($$NXT(.ZRTN),"S")=$$STR(ZI)
|
. S ZRTN($$NXT(.ZRTN),"S")=$$STR(ZI)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
qparse(qrtn,zquery) ; parses the query
|
qparse(qrtn,zquery) ; parses the query
|
||||||
; want this to be able to handle the WHERE clause of SPARQL eventually
|
; want this to be able to handle the WHERE clause of SPARQL eventually
|
||||||
;
|
;
|
||||||
n q1,q2,q3,qq
|
n q1,q2,q3,qq
|
||||||
;s qq=$tr(zquery," ","^")
|
;s qq=$tr(zquery," ","^")
|
||||||
s qq=query ; really want to remove whitespace here
|
s qq=query ; really want to remove whitespace here
|
||||||
s q1=$p(qq," ",1)
|
s q1=$p(qq," ",1)
|
||||||
i q1["?" s q1=""
|
i q1["?" s q1=""
|
||||||
s q2=$p(qq," ",2)
|
s q2=$p(qq," ",2)
|
||||||
i q2["?" s q2=""
|
i q2["?" s q2=""
|
||||||
s q3=$p(qq," ",3)
|
s q3=$p(qq," ",3)
|
||||||
i q3["?" s q3=""
|
i q3["?" s q3=""
|
||||||
s qrtn(1)=q1_"^"_q2_"^"_q3 ; more lines to come later
|
s qrtn(1)=q1_"^"_q2_"^"_q3 ; more lines to come later
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
getGraph(zrtn,zgrf,form) ; get all triples in graph zgrf
|
getGraph(zrtn,zgrf,form) ; get all triples in graph zgrf
|
||||||
; forms planned: "rdf" "json" "array" "turtle" "triples" "raw"
|
; forms planned: "rdf" "json" "array" "turtle" "triples" "raw"
|
||||||
; forms supported: "rdf" "json" "array" "raw"
|
; forms supported: "rdf" "json" "array" "raw"
|
||||||
I '$D(form) S form="rdf"
|
I '$D(form) S form="rdf"
|
||||||
N ZIENS,ZTRIP
|
N ZIENS,ZTRIP
|
||||||
D TING^C0XF2N(.ZIENS,zgrf)
|
D TING^C0XF2N(.ZIENS,zgrf)
|
||||||
I '$D(ZIENS) Q ;
|
I '$D(ZIENS) Q ;
|
||||||
D ien2tary(.ZTRIP,"ZIENS")
|
D ien2tary(.ZTRIP,"ZIENS")
|
||||||
I form="json" d jsonout(.zrtn,.ZTRIP) q ; what follows is else
|
I form="json" d jsonout(.zrtn,.ZTRIP) q ; what follows is else
|
||||||
i form="rdf" d rdfout^C0XRDF(.zrtn,.ZTRIP) q ;
|
i form="rdf" d rdfout^C0XRDF(.zrtn,.ZTRIP) q ;
|
||||||
i form="array" d arrayout^C0XGET1(.zrtn,.ZTRIP) q ;
|
i form="array" d arrayout^C0XGET1(.zrtn,.ZTRIP) q ;
|
||||||
i form="raw" d rawout^C0XGET1(.zrtn,.ZTRIP) q ;
|
i form="raw" d rawout^C0XGET1(.zrtn,.ZTRIP) q ;
|
||||||
W !,"Form not supported: ",form
|
W !,"Form not supported: ",form
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
rpctrip(rtn,query,limit,offset) ; rpc to access triples with a query
|
rpctrip(rtn,query,limit,offset) ; rpc to access triples with a query
|
||||||
;
|
;
|
||||||
n zoff,zlim,zcount,zq
|
n zoff,zlim,zcount,zq
|
||||||
k rtn
|
k rtn
|
||||||
i '$d(limit) s limit=250
|
i '$d(limit) s limit=250
|
||||||
i '$d(offset) s offset=0
|
i '$d(offset) s offset=0
|
||||||
d qparse(.zq,query) ; parse the query
|
d qparse(.zq,query) ; parse the query
|
||||||
n qsub,qpred,qobj,qtmp
|
n qsub,qpred,qobj,qtmp
|
||||||
W !,zq(1)
|
W !,zq(1)
|
||||||
s qsub=$p(zq(1),"^",1)
|
s qsub=$p(zq(1),"^",1)
|
||||||
s qpred=$p(zq(1),"^",2)
|
s qpred=$p(zq(1),"^",2)
|
||||||
s qobj=$p(zq(1),"^",3)
|
s qobj=$p(zq(1),"^",3)
|
||||||
d triples(.qtmp,qsub,qpred,qobj)
|
d triples(.qtmp,qsub,qpred,qobj)
|
||||||
f zcount=offset+1:1:offset+limit q:'$d(qtmp(zcount)) d ;
|
f zcount=offset+1:1:offset+limit q:'$d(qtmp(zcount)) d ;
|
||||||
. s rtn(zcount)=qtmp(zcount)
|
. s rtn(zcount)=qtmp(zcount)
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
triples(triplertn,sub,pred,obj,graph,form,fary) ; returns triples
|
triples(triplertn,sub,pred,obj,graph,form,fary) ; returns triples
|
||||||
I '$D(fary) D ;
|
I '$D(fary) D ;
|
||||||
. D INITFARY^C0XF2N("C0XFARY")
|
. D INITFARY^C0XF2N("C0XFARY")
|
||||||
. S fary="C0XFARY"
|
. S fary="C0XFARY"
|
||||||
D USEFARY^C0XF2N(fary)
|
D USEFARY^C0XF2N(fary)
|
||||||
I '$D(form) S form="json"
|
I '$D(form) S form="json"
|
||||||
k triplertn ; start with a clean return
|
k triplertn ; start with a clean return
|
||||||
n zsub,zpred,zobj,zgraph,tmprtn
|
n zsub,zpred,zobj,zgraph,tmprtn
|
||||||
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of subject
|
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of subject
|
||||||
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of predicate
|
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of predicate
|
||||||
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of object
|
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of object
|
||||||
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
||||||
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
||||||
d trip(.tmprtn,zsub,zpred,zobj,zgraph,fary)
|
d trip(.tmprtn,zsub,zpred,zobj,zgraph,fary)
|
||||||
d ien2tary(.zrary,"tmprtn") ; convert to triples
|
d ien2tary(.zrary,"tmprtn") ; convert to triples
|
||||||
;
|
;
|
||||||
i form="json" d jsonout(.triplertn,.zrary) q ; what follows is 'else'
|
i form="json" d jsonout(.triplertn,.zrary) q ; what follows is 'else'
|
||||||
i form="rdf" d rdfout^C0XRDF(.triplertn,.zrary) q ;
|
i form="rdf" d rdfout^C0XRDF(.triplertn,.zrary) q ;
|
||||||
i form="array" d arrayout(.triplertn,.zrary) q ;
|
i form="array" d arrayout(.triplertn,.zrary) q ;
|
||||||
i form="raw" d rawout(.triplertn,.zrary) q ;
|
i form="raw" d rawout(.triplertn,.zrary) q ;
|
||||||
w !,"form not supported: ",form
|
w !,"form not supported: ",form
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
subjects(listrtn,pred,obj,graph,form,fary) ; return list of subjects
|
subjects(listrtn,pred,obj,graph,form,fary) ; return list of subjects
|
||||||
d onelist("S",,$g(pred),$g(obj),$g(fary)) ;subjects
|
d onelist("S",,$g(pred),$g(obj),$g(fary)) ;subjects
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
subject(pred,obj,graph,form,fary) ; extrinsic which returns the first
|
subject(pred,obj,graph,form,fary) ; extrinsic which returns the first
|
||||||
; multiple of return from subjects - returns null if more than one
|
; multiple of return from subjects - returns null if more than one
|
||||||
; subjects(.G,sub,pred)
|
; subjects(.G,sub,pred)
|
||||||
; G("nodeID:1234") ==> "nodeID:1234"
|
; G("nodeID:1234") ==> "nodeID:1234"
|
||||||
n zin,zrtn
|
n zin,zrtn
|
||||||
d subjects(.zin,$g(pred),$g(obj),$g(form),$g(fary))
|
d subjects(.zin,$g(pred),$g(obj),$g(form),$g(fary))
|
||||||
s zrtn=$o(zin(""))
|
s zrtn=$o(zin(""))
|
||||||
i $o(zin(zrtn))'="" s zrtn=""
|
i $o(zin(zrtn))'="" s zrtn=""
|
||||||
q zrtn
|
q zrtn
|
||||||
;
|
;
|
||||||
preds(listrtn,sub,obj,graph,form,fary) ; return list of subjects
|
preds(listrtn,sub,obj,graph,form,fary) ; return list of subjects
|
||||||
d onelist("P",$g(sub),,$g(obj),$g(fary)) ;subjects
|
d onelist("P",$g(sub),,$g(obj),$g(fary)) ;subjects
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
objects(listrtn,sub,pred,graph,form,fary) ; return list of subjects
|
objects(listrtn,sub,pred,graph,form,fary) ; return list of subjects
|
||||||
d onelist("O",$g(sub),$g(pred),"",$g(fary)) ;subjects
|
d onelist("O",$g(sub),$g(pred),"",$g(fary)) ;subjects
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
object(sub,pred,graph,form,fary) ; extrinsic which returns the first
|
object(sub,pred,graph,form,fary) ; extrinsic which returns the first
|
||||||
; multiple of return from objects - returns null if more than one
|
; multiple of return from objects - returns null if more than one
|
||||||
; objects(.G,sub,pred)
|
; objects(.G,sub,pred)
|
||||||
; G("location") ==> "location"
|
; G("location") ==> "location"
|
||||||
n zin,zrtn
|
n zin,zrtn
|
||||||
d objects(.zin,$g(sub),$g(pred),$g(form),$g(fary))
|
d objects(.zin,$g(sub),$g(pred),$g(form),$g(fary))
|
||||||
s zrtn=$o(zin(""))
|
s zrtn=$o(zin(""))
|
||||||
i $o(zin(zrtn))'="" s zrtn=""
|
i $o(zin(zrtn))'="" s zrtn=""
|
||||||
q zrtn
|
q zrtn
|
||||||
;
|
;
|
||||||
onelist(zw,sub,pred,obj,fary) ; returns list
|
onelist(zw,sub,pred,obj,fary) ; returns list
|
||||||
; zw is S P or O depending on what should be returned
|
; zw is S P or O depending on what should be returned
|
||||||
I $g(fary)="" D ;
|
I $g(fary)="" D ;
|
||||||
. D INITFARY^C0XF2N("C0XFARY")
|
. D INITFARY^C0XF2N("C0XFARY")
|
||||||
. S fary="C0XFARY"
|
. S fary="C0XFARY"
|
||||||
D USEFARY^C0XF2N(fary)
|
D USEFARY^C0XF2N(fary)
|
||||||
I '$D(form) S form="json"
|
I '$D(form) S form="json"
|
||||||
k listrtn ; start with a clean return
|
k listrtn ; start with a clean return
|
||||||
n zsub,zpred,zobj,zgraph,tmprtn
|
n zsub,zpred,zobj,zgraph,tmprtn
|
||||||
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of sub
|
s zsub=$$IENOF($$EXT^C0XUTIL($g(sub)),fary) ; ien of sub
|
||||||
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of pred
|
s zpred=$$IENOF($$EXT^C0XUTIL($g(pred)),fary) ; ien of pred
|
||||||
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of obj
|
s zobj=$$IENOF($$EXT^C0XUTIL($g(obj)),fary) ; ien of obj
|
||||||
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
s zgraph=$$IENOF($g(graph),fary) ; ien of graph
|
||||||
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
I $G(DEBUG) W !,"s:",zsub," p:",zpred," o:",zobj
|
||||||
n c0xflag,zi,zx,zt
|
n c0xflag,zi,zx,zt
|
||||||
s zt=$na(^C0X(101)) ;
|
s zt=$na(^C0X(101)) ;
|
||||||
s c0xflag=$$mask(zsub,zpred,zobj) ; get mask flags
|
s c0xflag=$$mask(zsub,zpred,zobj) ; get mask flags
|
||||||
k tmprtn
|
k tmprtn
|
||||||
n itbl,ii,ix
|
n itbl,ii,ix
|
||||||
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"OSP") ; no constraint
|
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"OSP") ; no constraint
|
||||||
s itbl("I000",ii)="d zip(.tmprtn,zt,zi)"
|
s itbl("I000",ii)="d zip(.tmprtn,zt,zi)"
|
||||||
s ii=$s(zw="S":"OSP",zw="P":"OPS",zw="O":"OSP") ; obj constraint
|
s ii=$s(zw="S":"OSP",zw="P":"OPS",zw="O":"OSP") ; obj constraint
|
||||||
s ix=$s(zw="O":"d just(zobj)",1:"d zip1(.tmprtn,zt,zi,zobj)")
|
s ix=$s(zw="O":"d just(zobj)",1:"d zip1(.tmprtn,zt,zi,zobj)")
|
||||||
s itbl("I001",ii)=ix
|
s itbl("I001",ii)=ix
|
||||||
s ii=$s(zw="S":"PSO",zw="P":"POS",zw="O":"POS") ; pred constraint
|
s ii=$s(zw="S":"PSO",zw="P":"POS",zw="O":"POS") ; pred constraint
|
||||||
s ix=$s(zw="P":"d just(zpred)",1:"d zip1(.tmprtn,zt,zi,zpred)")
|
s ix=$s(zw="P":"d just(zpred)",1:"d zip1(.tmprtn,zt,zi,zpred)")
|
||||||
s itbl("I010",ii)=ix
|
s itbl("I010",ii)=ix
|
||||||
s ii=$s(zw="S":"POS",zw="P":"OPS",zw="O":"OSP") ; pred + obj constraint
|
s ii=$s(zw="S":"POS",zw="P":"OPS",zw="O":"OSP") ; pred + obj constraint
|
||||||
s ix=$s(zw="S":"d zip2(.tmprtn,zt,zi,zpred,zobj)",zw="P":"d just(zpred)",zw="O":"d just(zobj)",1:"d just(zobj)")
|
s ix=$s(zw="S":"d zip2(.tmprtn,zt,zi,zpred,zobj)",zw="P":"d just(zpred)",zw="O":"d just(zobj)",1:"d just(zobj)")
|
||||||
s itbl("I011",ii)=ix
|
s itbl("I011",ii)=ix
|
||||||
s ii=$s(zw="S":"SPO",zw="P":"SPO",zw="O":"SOP") ; sub constraint
|
s ii=$s(zw="S":"SPO",zw="P":"SPO",zw="O":"SOP") ; sub constraint
|
||||||
s ix=$s(zw="S":"d just(zsub)",1:"d zip1(.tmprtn,zt,zi,zsub)")
|
s ix=$s(zw="S":"d just(zsub)",1:"d zip1(.tmprtn,zt,zi,zsub)")
|
||||||
s itbl("I100",ii)=ix
|
s itbl("I100",ii)=ix
|
||||||
s ii=$s(zw="S":"SPO",zw="P":"SOP",zw="O":"OSP") ; sub + obj constraint
|
s ii=$s(zw="S":"SPO",zw="P":"SOP",zw="O":"OSP") ; sub + obj constraint
|
||||||
s ix=$s(zw="P":"d zip2(.tmprtn,zt,zi,zsub,zobj)",zw="S":"d just(zsub)",zw="O":"d just(zobj)",1:"d just(zobj)")
|
s ix=$s(zw="P":"d zip2(.tmprtn,zt,zi,zsub,zobj)",zw="S":"d just(zsub)",zw="O":"d just(zobj)",1:"d just(zobj)")
|
||||||
s itbl("I101",ii)=ix
|
s itbl("I101",ii)=ix
|
||||||
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"SPO") ; sub + pred constraint
|
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"SPO") ; sub + pred constraint
|
||||||
s ix=$s(zw="O":"d zip2(.tmprtn,zt,zi,zsub,zpred)",zw="S":"d just(zsub)",zw="P":"d just(zpred)",1:"d just(zsub)")
|
s ix=$s(zw="O":"d zip2(.tmprtn,zt,zi,zsub,zpred)",zw="S":"d just(zsub)",zw="P":"d just(zpred)",1:"d just(zsub)")
|
||||||
s itbl("I110",ii)=ix
|
s itbl("I110",ii)=ix
|
||||||
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"OSP") ; sub + pred + obj constraint
|
s ii=$s(zw="S":"SPO",zw="P":"POS",zw="O":"OSP") ; sub + pred + obj constraint
|
||||||
s ix=$s(zw="O":"d just(zobj)",zw="S":"d just(zsub)",zw="P":"d just(zpred)",1:"d just(zsub)")
|
s ix=$s(zw="O":"d just(zobj)",zw="S":"d just(zsub)",zw="P":"d just(zpred)",1:"d just(zsub)")
|
||||||
s itbl("I111",ii)=ix
|
s itbl("I111",ii)=ix
|
||||||
; end itbl definition
|
; end itbl definition
|
||||||
;
|
;
|
||||||
s zi=$o(itbl(c0xflag,"")) ; find index to use
|
s zi=$o(itbl(c0xflag,"")) ; find index to use
|
||||||
s zx=itbl(c0xflag,zi) ; executable instruction to run
|
s zx=itbl(c0xflag,zi) ; executable instruction to run
|
||||||
;i $g(ngraph)'="" s zi="G"_zi ; this is wrong.. don't do graphs yet
|
;i $g(ngraph)'="" s zi="G"_zi ; this is wrong.. don't do graphs yet
|
||||||
i $g(DEBUG) w !,c0xflag," ",zw," ",zt," ",zi," ",zx,!
|
i $g(DEBUG) w !,c0xflag," ",zw," ",zt," ",zi," ",zx,!
|
||||||
;zwr itbl
|
;zwr itbl
|
||||||
x zx
|
x zx
|
||||||
k listrtn
|
k listrtn
|
||||||
d strings(.listrtn,"tmprtn") ; convert pointer to strings
|
d strings(.listrtn,"tmprtn") ; convert pointer to strings
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
just(zin) ; add one element to tmprtn
|
just(zin) ; add one element to tmprtn
|
||||||
s tmprtn(zin)=""
|
s tmprtn(zin)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
zip(zrtn,zt,zi) ; pull out just the first element of the index
|
zip(zrtn,zt,zi) ; pull out just the first element of the index
|
||||||
;
|
;
|
||||||
n zii s zii=""
|
n zii s zii=""
|
||||||
f s zii=$o(@zt@(zi,zii)) q:zii="" d ;
|
f s zii=$o(@zt@(zi,zii)) q:zii="" d ;
|
||||||
. s zrtn(zii)=""
|
. s zrtn(zii)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
zip1(zrtn,zt,zi,zn) ; pull out just the first element of the index
|
zip1(zrtn,zt,zi,zn) ; pull out just the first element of the index
|
||||||
;
|
;
|
||||||
n zii s zii=""
|
n zii s zii=""
|
||||||
f s zii=$o(@zt@(zi,zn,zii)) q:zii="" d ;
|
f s zii=$o(@zt@(zi,zn,zii)) q:zii="" d ;
|
||||||
. s zrtn(zii)=""
|
. s zrtn(zii)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
zip2(zrtn,zt,zi,zn,zn1) ; pull out just the first element of the index
|
zip2(zrtn,zt,zi,zn,zn1) ; pull out just the first element of the index
|
||||||
;
|
;
|
||||||
n zii s zii=""
|
n zii s zii=""
|
||||||
f s zii=$o(@zt@(zi,zn,zn1,zii)) q:zii="" d ;
|
f s zii=$o(@zt@(zi,zn,zn1,zii)) q:zii="" d ;
|
||||||
. s zrtn(zii)=""
|
. s zrtn(zii)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
arrayout(rtn,zary) ; output an array of triples
|
arrayout(rtn,zary) ; output an array of triples
|
||||||
;
|
;
|
||||||
s zrsub=""
|
s zrsub=""
|
||||||
s zcnt=1
|
s zcnt=1
|
||||||
f s zrsub=$o(zary(zrsub)) q:zrsub="" d ; organized by subject
|
f s zrsub=$o(zary(zrsub)) q:zrsub="" d ; organized by subject
|
||||||
. s zzz=""
|
. s zzz=""
|
||||||
. f s zzz=$o(zary(zrsub,zzz)) q:zzz="" d ; pred and obj
|
. f s zzz=$o(zary(zrsub,zzz)) q:zzz="" d ; pred and obj
|
||||||
. . s rtn(zcnt)=zrsub_"^"_zzz
|
. . s rtn(zcnt)=zrsub_"^"_zzz
|
||||||
. . s zcnt=zcnt+1
|
. . s zcnt=zcnt+1
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
rawout(rtn,zary) ; output a mumps array of triples
|
rawout(rtn,zary) ; output a mumps array of triples
|
||||||
;
|
;
|
||||||
s zrsub=""
|
s zrsub=""
|
||||||
;s zcnt=1
|
;s zcnt=1
|
||||||
f s zrsub=$o(zary(zrsub)) q:zrsub="" d ; organized by subject
|
f s zrsub=$o(zary(zrsub)) q:zrsub="" d ; organized by subject
|
||||||
. s zzz=""
|
. s zzz=""
|
||||||
. f s zzz=$o(zary(zrsub,zzz)) q:zzz="" d ; pred and obj
|
. f s zzz=$o(zary(zrsub,zzz)) q:zzz="" d ; pred and obj
|
||||||
. . s rtn(zrsub,$p(zzz,"^",1))=$p(zzz,"^",2)
|
. . s rtn(zrsub,$p(zzz,"^",1))=$p(zzz,"^",2)
|
||||||
. . ;s zcnt=zcnt+1
|
. . ;s zcnt=zcnt+1
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
strings(zrary,zinary) ; convert pointers to strings
|
strings(zrary,zinary) ; convert pointers to strings
|
||||||
;
|
;
|
||||||
k zrary
|
k zrary
|
||||||
n zzz s zzz=""
|
n zzz s zzz=""
|
||||||
f s zzz=$o(@zinary@(zzz)) q:zzz="" d ;
|
f s zzz=$o(@zinary@(zzz)) q:zzz="" d ;
|
||||||
. n zs
|
. n zs
|
||||||
. ;s zs=$$GET1^DIQ(C0XSFN,zzz_",",.01)
|
. ;s zs=$$GET1^DIQ(C0XSFN,zzz_",",.01)
|
||||||
. s zs=$$NSP^C0XUTIL(zzz) ; get namespaced string
|
. s zs=$$NSP^C0XUTIL(zzz) ; get namespaced string
|
||||||
. q:zs=""
|
. q:zs=""
|
||||||
. s zrary(zs)="" ;
|
. s zrary(zs)="" ;
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
ien2tary(zrary,zinary) ; zinary is an array of iens passed by name
|
ien2tary(zrary,zinary) ; zinary is an array of iens passed by name
|
||||||
; zrary is passed by reference and is return array of triples
|
; zrary is passed by reference and is return array of triples
|
||||||
; format zrary(zsub,"zpred^zobj")=""
|
; format zrary(zsub,"zpred^zobj")=""
|
||||||
;
|
;
|
||||||
k zrary ; start out clean
|
k zrary ; start out clean
|
||||||
n zzz,zrsub,zrpred,zrobj,zgraph,zcnt
|
n zzz,zrsub,zrpred,zrobj,zgraph,zcnt
|
||||||
s zzz=""
|
s zzz=""
|
||||||
f s zzz=$o(@zinary@(zzz)) q:zzz="" d ;
|
f s zzz=$o(@zinary@(zzz)) q:zzz="" d ;
|
||||||
. s zrsub=$$GET1^DIQ(C0XTFN,zzz_",",.03,"E")
|
. s zrsub=$$GET1^DIQ(C0XTFN,zzz_",",.03,"E")
|
||||||
. s zrpred=$$GET1^DIQ(C0XTFN,zzz_",",.04,"E")
|
. s zrpred=$$GET1^DIQ(C0XTFN,zzz_",",.04,"E")
|
||||||
. s zrobj=$$GET1^DIQ(C0XTFN,zzz_",",.05,"E")
|
. s zrobj=$$GET1^DIQ(C0XTFN,zzz_",",.05,"E")
|
||||||
. s zrgraph=$$GET1^DIQ(C0XTFN,zzz_",",.02,"E")
|
. s zrgraph=$$GET1^DIQ(C0XTFN,zzz_",",.02,"E")
|
||||||
. s zrary(zrsub,zrpred_"^"_zrobj)=""
|
. s zrary(zrsub,zrpred_"^"_zrobj)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
jsonout(jout,zary) ;
|
jsonout(jout,zary) ;
|
||||||
d REPLYSTART^FMQLJSON("jout")
|
d REPLYSTART^FMQLJSON("jout")
|
||||||
d LISTSTART^FMQLJSON("jout","results")
|
d LISTSTART^FMQLJSON("jout","results")
|
||||||
n zi s zi=""
|
n zi s zi=""
|
||||||
f s zi=$o(zary(zi)) q:zi="" d ; for each subject
|
f s zi=$o(zary(zi)) q:zi="" d ; for each subject
|
||||||
. n zii s zii=""
|
. n zii s zii=""
|
||||||
. D DICTSTART^FMQLJSON("jout",zi)
|
. D DICTSTART^FMQLJSON("jout",zi)
|
||||||
. f s zii=$o(zary(zi,zii)) q:zii="" d ; for each pred^obj pair
|
. f s zii=$o(zary(zi,zii)) q:zii="" d ; for each pred^obj pair
|
||||||
. . d DASSERT^FMQLJSON("jout",$p(zii,"^",1),$p(zii,"^",2))
|
. . d DASSERT^FMQLJSON("jout",$p(zii,"^",1),$p(zii,"^",2))
|
||||||
. D DICTEND^FMQLJSON("jout")
|
. D DICTEND^FMQLJSON("jout")
|
||||||
d LISTEND^FMQLJSON("jout")
|
d LISTEND^FMQLJSON("jout")
|
||||||
d REPLYEND^FMQLJSON("jout")
|
d REPLYEND^FMQLJSON("jout")
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
mask(zsub,zpred,zobj) ; function to return mask information
|
mask(zsub,zpred,zobj) ; function to return mask information
|
||||||
; about the inputs ie I100 for just a subject and no pred or obj
|
; about the inputs ie I100 for just a subject and no pred or obj
|
||||||
n zf1,zf2,zf3,zflag
|
n zf1,zf2,zf3,zflag
|
||||||
s zf1=$s($g(zsub)="":0,1:1)
|
s zf1=$s($g(zsub)="":0,1:1)
|
||||||
s zf2=$s($g(zpred)="":0,1:1)
|
s zf2=$s($g(zpred)="":0,1:1)
|
||||||
s zf3=$s($g(zobj)="":0,1:1)
|
s zf3=$s($g(zobj)="":0,1:1)
|
||||||
s zflag="I"_zf1_zf2_zf3
|
s zflag="I"_zf1_zf2_zf3
|
||||||
q zflag
|
q zflag
|
||||||
;
|
;
|
||||||
trip(triprtn,nsub,npred,nobj,ngraph,fary) ; returns triples iens
|
trip(triprtn,nsub,npred,nobj,ngraph,fary) ; returns triples iens
|
||||||
; nsub,npred,nobj are all optional
|
; nsub,npred,nobj are all optional
|
||||||
; graf is also optional, and will limit the search to a particular ngraph
|
; graf is also optional, and will limit the search to a particular ngraph
|
||||||
; fary is which triple store (not implemented yet)
|
; fary is which triple store (not implemented yet)
|
||||||
n c0xflag,zi,zx,zt
|
n c0xflag,zi,zx,zt
|
||||||
s zt=$na(^C0X(101)) ;
|
s zt=$na(^C0X(101)) ;
|
||||||
s c0xflag=$$mask(nsub,npred,nobj) ; get mask flags
|
s c0xflag=$$mask(nsub,npred,nobj) ; get mask flags
|
||||||
n itbl
|
n itbl
|
||||||
s itbl("I000","SPO")="d do3(.triprtn,zt,zi)"
|
s itbl("I000","SPO")="d do3(.triprtn,zt,zi)"
|
||||||
s itbl("I001","OSP")="d do2(.triprtn,zt,zi,nobj)"
|
s itbl("I001","OSP")="d do2(.triprtn,zt,zi,nobj)"
|
||||||
s itbl("I010","PSO")="d do2(.triprtn,zt,zi,npred)"
|
s itbl("I010","PSO")="d do2(.triprtn,zt,zi,npred)"
|
||||||
s itbl("I011","POS")="d do1(.triprtn,zt,zi,npred,nobj)"
|
s itbl("I011","POS")="d do1(.triprtn,zt,zi,npred,nobj)"
|
||||||
s itbl("I100","SPO")="d do2(.triprtn,zt,zi,nsub)"
|
s itbl("I100","SPO")="d do2(.triprtn,zt,zi,nsub)"
|
||||||
s itbl("I101","SOP")="d do1(.triprtn,zt,zi,nsub,nobj)"
|
s itbl("I101","SOP")="d do1(.triprtn,zt,zi,nsub,nobj)"
|
||||||
s itbl("I110","SPO")="d do1(.triprtn,zt,zi,nsub,npred)"
|
s itbl("I110","SPO")="d do1(.triprtn,zt,zi,nsub,npred)"
|
||||||
s itbl("I111","SPO")="d do0(.triprtn,zt,zi,nsub,npred,nobj)"
|
s itbl("I111","SPO")="d do0(.triprtn,zt,zi,nsub,npred,nobj)"
|
||||||
s zi=$o(itbl(c0xflag,""))
|
s zi=$o(itbl(c0xflag,""))
|
||||||
s zx=itbl(c0xflag,zi) ; executable instruction to run
|
s zx=itbl(c0xflag,zi) ; executable instruction to run
|
||||||
i $g(ngraph)'="" s zi="G"_zi
|
i $g(ngraph)'="" s zi="G"_zi
|
||||||
i $g(DEBUG) w !,zx
|
i $g(DEBUG) w !,zx
|
||||||
x zx
|
x zx
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
do0(dortn,zt,zi,z1,z2,z3)
|
do0(dortn,zt,zi,z1,z2,z3)
|
||||||
; looking for only one triple
|
; looking for only one triple
|
||||||
n zz
|
n zz
|
||||||
s zz=$o(@zt@(zi,z1,z2,z3,""))
|
s zz=$o(@zt@(zi,z1,z2,z3,""))
|
||||||
i zz'="" s dortn(zz)=""
|
i zz'="" s dortn(zz)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
do1(dortn,zt,zi,z1,z2) ; have 2, looking for one
|
do1(dortn,zt,zi,z1,z2) ; have 2, looking for one
|
||||||
n zr,zx1
|
n zr,zx1
|
||||||
s zx1=""
|
s zx1=""
|
||||||
f s zx1=$o(@zt@(zi,z1,z2,zx1)) q:zx1="" d ;
|
f s zx1=$o(@zt@(zi,z1,z2,zx1)) q:zx1="" d ;
|
||||||
. s zr=$o(@zt@(zi,z1,z2,zx1,""))
|
. s zr=$o(@zt@(zi,z1,z2,zx1,""))
|
||||||
. s dortn(zr)=""
|
. s dortn(zr)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
do2(dortn,zt,zi,z1) ; have one, looking for 2
|
do2(dortn,zt,zi,z1) ; have one, looking for 2
|
||||||
n zr,zx1,zx2
|
n zr,zx1,zx2
|
||||||
s (zx1,zx2)=""
|
s (zx1,zx2)=""
|
||||||
f s zx1=$o(@zt@(zi,z1,zx1)) q:zx1="" d ;
|
f s zx1=$o(@zt@(zi,z1,zx1)) q:zx1="" d ;
|
||||||
. f s zx2=$o(@zt@(zi,z1,zx1,zx2)) q:zx2="" d ;
|
. f s zx2=$o(@zt@(zi,z1,zx1,zx2)) q:zx2="" d ;
|
||||||
. . s zr=$o(@zt@(zi,z1,zx1,zx2,""))
|
. . s zr=$o(@zt@(zi,z1,zx1,zx2,""))
|
||||||
. . s dortn(zr)=""
|
. . s dortn(zr)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
do3(dortn,zt,zi) ; have none, looking for three
|
do3(dortn,zt,zi) ; have none, looking for three
|
||||||
n zr,zx1,zx2,zx3
|
n zr,zx1,zx2,zx3
|
||||||
s (zx1,zx2,zx3)=""
|
s (zx1,zx2,zx3)=""
|
||||||
f s zx1=$o(@zt@(zi,zx1)) q:zx1="" d ;
|
f s zx1=$o(@zt@(zi,zx1)) q:zx1="" d ;
|
||||||
. f s zx2=$o(@zt@(zi,zx1,zx2)) q:zx2="" d ;
|
. f s zx2=$o(@zt@(zi,zx1,zx2)) q:zx2="" d ;
|
||||||
. . f s zx3=$o(@zt@(zi,zx1,zx2,zx3)) q:zx3="" d ;
|
. . f s zx3=$o(@zt@(zi,zx1,zx2,zx3)) q:zx3="" d ;
|
||||||
. . . s zr=$o(@zt@(zi,zx1,zx2,zx3,""))
|
. . . s zr=$o(@zt@(zi,zx1,zx2,zx3,""))
|
||||||
. . . s dortn(zr)=""
|
. . . s dortn(zr)=""
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
IENOF(ZSTRING,FARY) ; EXTRINSIC WHICH RETURNS THE IEN OF ZS IN THE STRINGS FILE
|
IENOF(ZSTRING,FARY) ; EXTRINSIC WHICH RETURNS THE IEN OF ZS IN THE STRINGS FILE
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY^C0XF2N("C0XFARY")
|
. D INITFARY^C0XF2N("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
N ZIEN
|
N ZIEN
|
||||||
I $G(ZSTRING)="" Q "" ; NO STRING
|
I $G(ZSTRING)="" Q "" ; NO STRING
|
||||||
S ZIEN=$O(@C0XSN@("B",$$EXT^C0XUTIL(ZSTRING),""))
|
S ZIEN=$O(@C0XSN@("B",$$EXT^C0XUTIL(ZSTRING),""))
|
||||||
I ZIEN="" S ZIEN=-1
|
I ZIEN="" S ZIEN=-1
|
||||||
Q ZIEN
|
Q ZIEN
|
||||||
;
|
;
|
||||||
IENOFA(ZOUTARY,INARY,FARY) ; RESOLVE STRINGS TO IEN IN STRINGS FILE
|
IENOFA(ZOUTARY,INARY,FARY) ; RESOLVE STRINGS TO IEN IN STRINGS FILE
|
||||||
; RETURNS IN ZOUTARY OF THE FORM ZOUTARY("IEN","VAR",IEN)=""
|
; RETURNS IN ZOUTARY OF THE FORM ZOUTARY("IEN","VAR",IEN)=""
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY^C0XF2N("C0XFARY")
|
. D INITFARY^C0XF2N("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
K ZOUTARY ; START WITH CLEAN RESULTS
|
K ZOUTARY ; START WITH CLEAN RESULTS
|
||||||
K C0XFDA2 ; USE A SEPARATE FDA FOR THIS
|
K C0XFDA2 ; USE A SEPARATE FDA FOR THIS
|
||||||
I '$D(C0XVOC) D VOCINIT^C0XUTIL
|
I '$D(C0XVOC) D VOCINIT^C0XUTIL
|
||||||
N ZINARY
|
N ZINARY
|
||||||
N ZI S ZI=""
|
N ZI S ZI=""
|
||||||
F S ZI=$O(INARY(ZI)) Q:ZI="" D ;
|
F S ZI=$O(INARY(ZI)) Q:ZI="" D ;
|
||||||
. N ZK
|
. N ZK
|
||||||
. S ZK=$O(INARY(ZI,""))
|
. S ZK=$O(INARY(ZI,""))
|
||||||
. S ZINARY($$EXT^C0XUTIL(ZI),$$EXT^C0XUTIL(ZK))=""
|
. S ZINARY($$EXT^C0XUTIL(ZI),$$EXT^C0XUTIL(ZK))=""
|
||||||
N ZV,ZIEN
|
N ZV,ZIEN
|
||||||
N ZCNT S ZCNT=0
|
N ZCNT S ZCNT=0
|
||||||
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; LOOK FOR MISSING STRINGS
|
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; LOOK FOR MISSING STRINGS
|
||||||
. S ZV=$O(ZINARY(ZI,""))
|
. S ZV=$O(ZINARY(ZI,""))
|
||||||
. I ZV["^" S ZV=$TR(ZV,"^","|")
|
. I ZV["^" S ZV=$TR(ZV,"^","|")
|
||||||
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; NOW GET ALL IENS
|
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; NOW GET ALL IENS
|
||||||
. S ZV=$O(ZINARY(ZI,""))
|
. S ZV=$O(ZINARY(ZI,""))
|
||||||
. I ZV["^" S ZV=$TR(ZV,"^","|")
|
. I ZV["^" S ZV=$TR(ZV,"^","|")
|
||||||
. S ZIEN=$O(@C0XSN@("B",ZV,"")) ; THEY SHOULD BE THERE NOW
|
. S ZIEN=$O(@C0XSN@("B",ZV,"")) ; THEY SHOULD BE THERE NOW
|
||||||
. I ZIEN="" S ZOUTARY("IEN",ZI)=""
|
. I ZIEN="" S ZOUTARY("IEN",ZI)=""
|
||||||
. E S ZOUTARY("IEN",ZI,ZIEN)=""
|
. E S ZOUTARY("IEN",ZI,ZIEN)=""
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
output(zwhat,zfname,zdir) ; function to write an array to a host file
|
output(zwhat,zfname,zdir) ; function to write an array to a host file
|
||||||
; if zdir is ommitted, will output to the CCR directory
|
; if zdir is ommitted, will output to the CCR directory
|
||||||
; ^TMP("C0CCCR","ODIR")
|
; ^TMP("C0CCCR","ODIR")
|
||||||
; if fname is ommitted, will output yyyy-mm-dd-hh-mm-ss-C0XOUT.out
|
; if fname is ommitted, will output yyyy-mm-dd-hh-mm-ss-C0XOUT.out
|
||||||
; zwhat is passed by name
|
; zwhat is passed by name
|
||||||
;
|
;
|
||||||
i '$d(zdir) s zdir=$G(^TMP("C0CCCR","ODIR"))
|
i '$d(zdir) s zdir=$G(^TMP("C0CCCR","ODIR"))
|
||||||
i '$d(zfname) d ;
|
i '$d(zfname) d ;
|
||||||
. s zfname=$$FMTE^XLFDT($$NOW^XLFDT,7)
|
. s zfname=$$FMTE^XLFDT($$NOW^XLFDT,7)
|
||||||
. s zfname=$tr(zfname,"/","-")
|
. s zfname=$tr(zfname,"/","-")
|
||||||
. s zfname=$tr(zfname,"@","-")
|
. s zfname=$tr(zfname,"@","-")
|
||||||
. s zfname=$tr(zfname,":","-")
|
. s zfname=$tr(zfname,":","-")
|
||||||
. s zfname=zfname_".out"
|
. s zfname=zfname_".out"
|
||||||
i $e(zwhat,1,1)'="^" d ; not a global
|
i $e(zwhat,1,1)'="^" d ; not a global
|
||||||
. k ^TMP("C0XOUT",$J)
|
. k ^TMP("C0XOUT",$J)
|
||||||
. m ^TMP("C0XOUT",$J)=@zwhat
|
. m ^TMP("C0XOUT",$J)=@zwhat
|
||||||
. s zwhat=$na(^TMP("C0XOUT",$J,1))
|
. s zwhat=$na(^TMP("C0XOUT",$J,1))
|
||||||
n zout s zout=""
|
n zout s zout=""
|
||||||
s zout=$$OUTPUT^C0CXPATH(zwhat,zfname,zdir)
|
s zout=$$OUTPUT^C0CXPATH(zwhat,zfname,zdir)
|
||||||
K ^TMP("C0XOUT",$J)
|
K ^TMP("C0XOUT",$J)
|
||||||
Q zout
|
Q zout
|
||||||
;
|
;
|
||||||
tagText(ztag) ; extrinsic which returns the location of the text
|
tagText(ztag) ; extrinsic which returns the location of the text
|
||||||
; associated with ztag
|
; associated with ztag
|
||||||
n zs,zo
|
n zs,zo
|
||||||
s zs=$$subject("fmts:fileTag",ztag)
|
s zs=$$subject("fmts:fileTag",ztag)
|
||||||
i zs="" d q "" ;
|
i zs="" d q "" ;
|
||||||
. w !,"error, tag is either missing or there are more than one ",ztag
|
. w !,"error, tag is either missing or there are more than one ",ztag
|
||||||
s zo=$$object(zs,"fmts:fileSource")
|
s zo=$$object(zs,"fmts:fileSource")
|
||||||
i zo="" d q "" ;
|
i zo="" d q "" ;
|
||||||
. w !,"error, tag source not found ",zs
|
. w !,"error, tag source not found ",zs
|
||||||
w !,zo
|
w !,zo
|
||||||
q $$WHERETXT^C0XF2N(zo)
|
q $$WHERETXT^C0XF2N(zo)
|
||||||
;
|
;
|
||||||
tagRoot(ztag) ; extrinsic which returns the root for graphs and subjects
|
tagRoot(ztag) ; extrinsic which returns the root for graphs and subjects
|
||||||
; associated with ztag
|
; associated with ztag
|
||||||
n zs,zo
|
n zs,zo
|
||||||
s zs=$$subject("fmts:fileTag",ztag)
|
s zs=$$subject("fmts:fileTag",ztag)
|
||||||
i zs="" d q "" ;
|
i zs="" d q "" ;
|
||||||
. w !,"error, tag is either missing or there are more than one ",ztag
|
. w !,"error, tag is either missing or there are more than one ",ztag
|
||||||
s zo=$$object(zs,"fmts:root")
|
s zo=$$object(zs,"fmts:root")
|
||||||
i zo="" d q "" ;
|
i zo="" d q "" ;
|
||||||
. w !,"error, root not found ",zs
|
. w !,"error, root not found ",zs
|
||||||
;w !,zo
|
;w !,zo
|
||||||
q zo
|
q zo
|
||||||
;
|
;
|
||||||
|
|
234
p/C0XINIT.m
234
p/C0XINIT.m
|
@ -1,117 +1,117 @@
|
||||||
C0XINIT ; GPL - Fileman Triples initialization routine ;10/13/11 17:05
|
C0XINIT ; GPL - Fileman Triples initialization routine ;10/13/11 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
CLEAR ; DELETE THE FILESTORE
|
CLEAR ; DELETE THE FILESTORE
|
||||||
K ^C0X(101)
|
K ^C0X(101)
|
||||||
K ^C0X(201)
|
K ^C0X(201)
|
||||||
S ^C0X(101,0)="C0X TRIPLE^172.101I^^"
|
S ^C0X(101,0)="C0X TRIPLE^172.101I^^"
|
||||||
S ^C0X(201,0)="C0X STRING^172.201I^^"
|
S ^C0X(201,0)="C0X STRING^172.201I^^"
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
INIT ; INITIALIZE THE TRIPLE STORE - THIS DELETES THE GLOBALS AND
|
INIT ; INITIALIZE THE TRIPLE STORE - THIS DELETES THE GLOBALS AND
|
||||||
; START ALL OVER... USE WITH CAUTION
|
; START ALL OVER... USE WITH CAUTION
|
||||||
;
|
;
|
||||||
; -- we should be more sophisticated here.. at least warn the user
|
; -- we should be more sophisticated here.. at least warn the user
|
||||||
; -- and give them a chance to cancel
|
; -- and give them a chance to cancel
|
||||||
;
|
;
|
||||||
D CLEAR ; DELETE THE TRIPLESTORE
|
D CLEAR ; DELETE THE TRIPLESTORE
|
||||||
;
|
;
|
||||||
; -- we are assuming that FARY is set up properly in C0XF2N
|
; -- we are assuming that FARY is set up properly in C0XF2N
|
||||||
; -- with repect to the default directory and the defaut fileman files
|
; -- with repect to the default directory and the defaut fileman files
|
||||||
; -- here's what it is now: "/home/vista/gpl/fmts/trunk/samples/"
|
; -- here's what it is now: "/home/vista/gpl/fmts/trunk/samples/"
|
||||||
; -- that means that all the sample files will look like:
|
; -- that means that all the sample files will look like:
|
||||||
; --- qds/QDS_0001.rdf
|
; --- qds/QDS_0001.rdf
|
||||||
; --- smart-rdf-in/small.rdf
|
; --- smart-rdf-in/small.rdf
|
||||||
;
|
;
|
||||||
S FARY="C0XFARY"
|
S FARY="C0XFARY"
|
||||||
D INITFARY^C0XF2N(FARY)
|
D INITFARY^C0XF2N(FARY)
|
||||||
D USEFARY^C0XF2N(FARY)
|
D USEFARY^C0XF2N(FARY)
|
||||||
S C0XFARY("C0XDIR")="/home/vista/gpl/fmts/trunk/samples/smart-rdf-in/" ;
|
S C0XFARY("C0XDIR")="/home/vista/gpl/fmts/trunk/samples/smart-rdf-in/" ;
|
||||||
D USEFARY^C0XF2N(FARY)
|
D USEFARY^C0XF2N(FARY)
|
||||||
S SMART(1)="cole-susan.rdf"
|
S SMART(1)="cole-susan.rdf"
|
||||||
S SMART(2)="jones-cynthia.rdf"
|
S SMART(2)="jones-cynthia.rdf"
|
||||||
S SMART(3)="small.rdf"
|
S SMART(3)="small.rdf"
|
||||||
S SMART(4)="collins-frank.rdf"
|
S SMART(4)="collins-frank.rdf"
|
||||||
S SMART(5)="kelly-david.rdf"
|
S SMART(5)="kelly-david.rdf"
|
||||||
S SMART(6)="smith-maria.rdf"
|
S SMART(6)="smith-maria.rdf"
|
||||||
S SMART(7)="ford-shirley.rdf"
|
S SMART(7)="ford-shirley.rdf"
|
||||||
S SMART(8)="morgan-jason.rdf"
|
S SMART(8)="morgan-jason.rdf"
|
||||||
S SMART(9)="west-lisa.rdf"
|
S SMART(9)="west-lisa.rdf"
|
||||||
S SMART(10)="gracia-paul.rdf"
|
S SMART(10)="gracia-paul.rdf"
|
||||||
S SMART(11)="reed-richard.rdf"
|
S SMART(11)="reed-richard.rdf"
|
||||||
S SMART(12)="west-sandra.rdf"
|
S SMART(12)="west-sandra.rdf"
|
||||||
S SMART(13)="jackson-jessica.rdf"
|
S SMART(13)="jackson-jessica.rdf"
|
||||||
S SMART(14)="small-allergies.rdf"
|
S SMART(14)="small-allergies.rdf"
|
||||||
S SMART(15)="white-patricia.rdf"
|
S SMART(15)="white-patricia.rdf"
|
||||||
N ZI S ZI=""
|
N ZI S ZI=""
|
||||||
F S ZI=$O(SMART(ZI)) Q:ZI="" D ; for each smart file
|
F S ZI=$O(SMART(ZI)) Q:ZI="" D ; for each smart file
|
||||||
. D IMPORT^C0XF2N(SMART(ZI),C0XDIR,,FARY) ; import to the triplestore
|
. D IMPORT^C0XF2N(SMART(ZI),C0XDIR,,FARY) ; import to the triplestore
|
||||||
S FARY="C0XFARY"
|
S FARY="C0XFARY"
|
||||||
S C0XFARY("C0XDIR")="/home/vista/gpl/fmts/trunk/samples/qds/"
|
S C0XFARY("C0XDIR")="/home/vista/gpl/fmts/trunk/samples/qds/"
|
||||||
D USEFARY^C0XF2N(FARY)
|
D USEFARY^C0XF2N(FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0001.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0001.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0028b.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0028b.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0052.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0052.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0073.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0073.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0385.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0385.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0002.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0002.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0031.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0031.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0055.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0055.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0074.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0074.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0387.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0387.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0004.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0004.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0032.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0032.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0056.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0056.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0075.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0075.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0389.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0389.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0012.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0012.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0033.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0033.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0059.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0059.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0081.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0081.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0421.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0421.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0013.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0013.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0034.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0034.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0061.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0061.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0083.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0083.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0575.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0575.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0014.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0014.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0036.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0036.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0062.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0062.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0084.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0084.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0018.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0018.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0038.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0038.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0064.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0064.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0086.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0086.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0024.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0024.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0041.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0041.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0067.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0067.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0088.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0088.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0027.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0027.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0043.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0043.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0068.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0068.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0089.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0089.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0028a.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0028a.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0047.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0047.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0070.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0070.rdf",C0XDIR,,FARY)
|
||||||
D IMPORT^C0XF2N("QDS_0105.rdf",C0XDIR,,FARY)
|
D IMPORT^C0XF2N("QDS_0105.rdf",C0XDIR,,FARY)
|
||||||
;D IMPORT^C0XF2N("qds.rdf",C0XDIR,,FARY)
|
;D IMPORT^C0XF2N("qds.rdf",C0XDIR,,FARY)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
|
|
754
p/C0XMAIN.m
754
p/C0XMAIN.m
|
@ -1,377 +1,377 @@
|
||||||
C0XMAIN ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
C0XMAIN ; GPL - Fileman Triples entry point routine ;10/13/11 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
INITFARY(ZFARY) ; INITIALIZE FILE NUMBERS AND OTHER USEFUL THINGS
|
INITFARY(ZFARY) ; INITIALIZE FILE NUMBERS AND OTHER USEFUL THINGS
|
||||||
; FOR THE DEFAULT TRIPLE STORE. USE OTHER VALUES FOR SUPPORTING ADDITIONAL
|
; FOR THE DEFAULT TRIPLE STORE. USE OTHER VALUES FOR SUPPORTING ADDITIONAL
|
||||||
; TRIPLE STORES
|
; TRIPLE STORES
|
||||||
S @ZFARY@("C0XTFN")=172.101 ; TRIPLES FILE NUMBER
|
S @ZFARY@("C0XTFN")=172.101 ; TRIPLES FILE NUMBER
|
||||||
S @ZFARY@("C0XSFN")=172.201 ; TRIPLES STRINGS FILE NUMBER
|
S @ZFARY@("C0XSFN")=172.201 ; TRIPLES STRINGS FILE NUMBER
|
||||||
S @ZFARY@("C0XTN")=$NA(^C0X(101)) ; TRIPLES GLOBAL NAME
|
S @ZFARY@("C0XTN")=$NA(^C0X(101)) ; TRIPLES GLOBAL NAME
|
||||||
S @ZFARY@("C0XSN")=$NA(^C0X(201)) ; STRING FILE GLOBAL NAME
|
S @ZFARY@("C0XSN")=$NA(^C0X(201)) ; STRING FILE GLOBAL NAME
|
||||||
;S @ZFARY@("C0XDIR")="/home/glilly/all_smart_patient_data/smart-rdf/"
|
;S @ZFARY@("C0XDIR")="/home/glilly/all_smart_patient_data/smart-rdf/"
|
||||||
S @ZFARY@("C0XDIR")="/home/george/fmts/trunk/samples/"
|
S @ZFARY@("C0XDIR")="/home/george/fmts/trunk/samples/"
|
||||||
D USEFARY(ZFARY)
|
D USEFARY(ZFARY)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
USEFARY(ZFARY) ; INITIALIZES VARIABLES SAVED IN ARRAY ZFARY
|
USEFARY(ZFARY) ; INITIALIZES VARIABLES SAVED IN ARRAY ZFARY
|
||||||
N ZI S ZI=""
|
N ZI S ZI=""
|
||||||
F S ZI=$O(@ZFARY@(ZI)) Q:ZI="" D
|
F S ZI=$O(@ZFARY@(ZI)) Q:ZI="" D
|
||||||
. ;N ZX
|
. ;N ZX
|
||||||
. S ZX="S "_ZI_"="""_@ZFARY@(ZI)_""""
|
. S ZX="S "_ZI_"="""_@ZFARY@(ZI)_""""
|
||||||
. ;W !,ZX
|
. ;W !,ZX
|
||||||
. X ZX
|
. X ZX
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
IMPORT(FNAME,FDIR,FURL,FARY) ; EXTRINSIC THAT READS A FILE FROM THE STANDARD
|
IMPORT(FNAME,FDIR,FURL,FARY) ; EXTRINSIC THAT READS A FILE FROM THE STANDARD
|
||||||
; DIRECTORY, LOADS IT INTO THE TRIPLESTORE AS TEXT, AND RETURNS THE
|
; DIRECTORY, LOADS IT INTO THE TRIPLESTORE AS TEXT, AND RETURNS THE
|
||||||
; NODE NAME OF THE TEXT TRIPLE
|
; NODE NAME OF THE TEXT TRIPLE
|
||||||
; FDIR IS THE OPTIONAL DIRECTORY (DEFAUTS TO STANDARD DIR)
|
; FDIR IS THE OPTIONAL DIRECTORY (DEFAUTS TO STANDARD DIR)
|
||||||
; FURL IS THE OPTIONAL URI FOR ACCESSING THE FILE FROM THE TRIPLE STORE
|
; FURL IS THE OPTIONAL URI FOR ACCESSING THE FILE FROM THE TRIPLE STORE
|
||||||
; FARY IS THE OPTIONAL FILE ARRAY OF THE TRIPLE STORE TO USE
|
; FARY IS THE OPTIONAL FILE ARRAY OF THE TRIPLE STORE TO USE
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
N ZD,ZTMP
|
N ZD,ZTMP
|
||||||
I '$D(FDIR) S FDIR=C0XDIR ; DIRECTORY OF THE RDF FILE
|
I '$D(FDIR) S FDIR=C0XDIR ; DIRECTORY OF THE RDF FILE
|
||||||
I '$D(FURL) D ;
|
I '$D(FURL) D ;
|
||||||
. N ZN2 S ZN2=$TR(FNAME,".","_") ; REMOVE THE DOT FROM THE NAME
|
. N ZN2 S ZN2=$TR(FNAME,".","_") ; REMOVE THE DOT FROM THE NAME
|
||||||
. S FURL=FDIR_ZN2
|
. S FURL=FDIR_ZN2
|
||||||
N ZTMP
|
N ZTMP
|
||||||
S ZTMP=$NA(^TMP("C0X",$J,"FILEIN",1)) ; WHERE TO PUT THE INCOMING FILE
|
S ZTMP=$NA(^TMP("C0X",$J,"FILEIN",1)) ; WHERE TO PUT THE INCOMING FILE
|
||||||
K @ZTMP ; MAKE SURE IT'S CLEAR
|
K @ZTMP ; MAKE SURE IT'S CLEAR
|
||||||
S C0XSTART=$$NOW^XLFDT
|
S C0XSTART=$$NOW^XLFDT
|
||||||
W !,"STARTED: ",C0XSTART
|
W !,"STARTED: ",C0XSTART
|
||||||
W !,"READING IN: ",FNAME
|
W !,"READING IN: ",FNAME
|
||||||
I '$$FILEIN(ZTMP,FDIR,FNAME,4) D Q ; QUIT IF NO SUCCESS
|
I '$$FILEIN(ZTMP,FDIR,FNAME,4) D Q ; QUIT IF NO SUCCESS
|
||||||
. W !,"ERROR READING FILE: ",FDIR,FNAME
|
. W !,"ERROR READING FILE: ",FDIR,FNAME
|
||||||
S ZRDF=$NA(^TMP("C0X",$J,"FILEIN")) ; WITHOUT THE SUBSCRIPT
|
S ZRDF=$NA(^TMP("C0X",$J,"FILEIN")) ; WITHOUT THE SUBSCRIPT
|
||||||
W !,$O(@ZRDF@(""),-1)," LINES READ"
|
W !,$O(@ZRDF@(""),-1)," LINES READ"
|
||||||
D INSRDF(ZRDF,FURL,FARY) ; IMPORT AND PROCESS THE RDF
|
D INSRDF(ZRDF,FURL,FARY) ; IMPORT AND PROCESS THE RDF
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
WGET(ZURL,FARY) ; GET FROM THE INTERNET AN RDF FILE AND INSERT IT
|
WGET(ZURL,FARY) ; GET FROM THE INTERNET AN RDF FILE AND INSERT IT
|
||||||
;
|
;
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
;N ZLOC,ZTMP
|
;N ZLOC,ZTMP
|
||||||
K ZTMP
|
K ZTMP
|
||||||
S ZLOC=$NA(^TMP("C0X","WGET",$J))
|
S ZLOC=$NA(^TMP("C0X","WGET",$J))
|
||||||
S C0XSTART=$$NOW^XLFDT
|
S C0XSTART=$$NOW^XLFDT
|
||||||
W !,"STARTED: ",C0XSTART
|
W !,"STARTED: ",C0XSTART
|
||||||
W !,"DOWNLOADING: ",ZURL
|
W !,"DOWNLOADING: ",ZURL
|
||||||
S OK=$$httpGET^%zewdGTM(ZURL,.ZTMP)
|
S OK=$$httpGET^%zewdGTM(ZURL,.ZTMP)
|
||||||
M @ZLOC=ZTMP
|
M @ZLOC=ZTMP
|
||||||
W !,$O(@ZLOC@(""),-1)," LINES READ"
|
W !,$O(@ZLOC@(""),-1)," LINES READ"
|
||||||
D INSRDF(ZLOC,ZURL,FARY)
|
D INSRDF(ZLOC,ZURL,FARY)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
INSRDF(ZRDF,ZNAME,FARY) ; INSERT AN RDF FILE INTO THE STORE AND PROCESS
|
INSRDF(ZRDF,ZNAME,FARY) ; INSERT AN RDF FILE INTO THE STORE AND PROCESS
|
||||||
; ZRDF IS PASSED BY NAME
|
; ZRDF IS PASSED BY NAME
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
N ZGRAPH,ZSUBJECT
|
N ZGRAPH,ZSUBJECT
|
||||||
S ZGRAPH="_:G"_$$LKY9 ; RANDOM GRAPH NAME
|
S ZGRAPH="_:G"_$$LKY9 ; RANDOM GRAPH NAME
|
||||||
S ZSUBJECT=$$ANONS ; RANDOM ANOYMOUS SUBJECT
|
S ZSUBJECT=$$ANONS ; RANDOM ANOYMOUS SUBJECT
|
||||||
D ADD(ZGRAPH,ZSUBJECT,"fmts:url",ZNAME,FARY)
|
D ADD(ZGRAPH,ZSUBJECT,"fmts:url",ZNAME,FARY)
|
||||||
N ZTXTNM
|
N ZTXTNM
|
||||||
S ZTXTNM="_TXT_INCOMING_RDF_FILE_"_ZNAME_"_"_$$LKY9 ; NAME FOR TEXT NODE
|
S ZTXTNM="_TXT_INCOMING_RDF_FILE_"_ZNAME_"_"_$$LKY9 ; NAME FOR TEXT NODE
|
||||||
D ADD(ZGRAPH,ZSUBJECT,"fmts:rdfSource",ZTXTNM,FARY)
|
D ADD(ZGRAPH,ZSUBJECT,"fmts:rdfSource",ZTXTNM,FARY)
|
||||||
D UPDIE(.C0XFDA) ; TRY IT OUT
|
D UPDIE(.C0XFDA) ; TRY IT OUT
|
||||||
K C0XCNT ;RESET FOR NEXT TIME
|
K C0XCNT ;RESET FOR NEXT TIME
|
||||||
D STORETXT(ZRDF,ZTXTNM,FARY)
|
D STORETXT(ZRDF,ZTXTNM,FARY)
|
||||||
W !,"ADDED: ",ZGRAPH," ",ZSUBJECT," fmts:rdfSource ",ZTXTNM
|
W !,"ADDED: ",ZGRAPH," ",ZSUBJECT," fmts:rdfSource ",ZTXTNM
|
||||||
D PROCESS(.G,ZRDF,ZNAME,ZGRAPH,FARY) ; PARSE AND INSERT THE RDF
|
D PROCESS(.G,ZRDF,ZNAME,ZGRAPH,FARY) ; PARSE AND INSERT THE RDF
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
STORETXT(ZTXT,ZNAME,FARY) ; STORE TEXT IN THE TRIPLESTORE AT ZNAME
|
STORETXT(ZTXT,ZNAME,FARY) ; STORE TEXT IN THE TRIPLESTORE AT ZNAME
|
||||||
;
|
;
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
N ZIEN
|
N ZIEN
|
||||||
S ZIEN=$$IENOF(ZNAME,FARY) ; GET THE IEN
|
S ZIEN=$$IENOF(ZNAME,FARY) ; GET THE IEN
|
||||||
D CLEAN^DILF
|
D CLEAN^DILF
|
||||||
K ZERR
|
K ZERR
|
||||||
D WP^DIE(C0XSFN,ZIEN_",",1,,ZTXT,"ZERR")
|
D WP^DIE(C0XSFN,ZIEN_",",1,,ZTXT,"ZERR")
|
||||||
I $D(ZERR) D ;
|
I $D(ZERR) D ;
|
||||||
. ZWR ZERR
|
. ZWR ZERR
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
GETTXT(ZRTN,ZNAME,FARY) ; RETURNS RDF SOURCE OR OTHER TEXT
|
GETTXT(ZRTN,ZNAME,FARY) ; RETURNS RDF SOURCE OR OTHER TEXT
|
||||||
; ZRTN IS PASSED BY REFERENCE
|
; ZRTN IS PASSED BY REFERENCE
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
N ZIEN
|
N ZIEN
|
||||||
S ZIEN=$$IENOF(ZNAME)
|
S ZIEN=$$IENOF(ZNAME)
|
||||||
S OK=$$GET1^DIQ(C0XSFN,ZIEN_",",1,,"ZRTN")
|
S OK=$$GET1^DIQ(C0XSFN,ZIEN_",",1,,"ZRTN")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
WHERETXT(ZNAME,FARY) ; EXTRINSIC WHICH RETURNS THE NAME OF THE GLOBAL
|
WHERETXT(ZNAME,FARY) ; EXTRINSIC WHICH RETURNS THE NAME OF THE GLOBAL
|
||||||
; WHERE THE TEXT IS LOCATED. NAME IS THE NAME OF THE STRING
|
; WHERE THE TEXT IS LOCATED. NAME IS THE NAME OF THE STRING
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
N ZIEN
|
N ZIEN
|
||||||
S ZIEN=$$IENOF(ZNAME)
|
S ZIEN=$$IENOF(ZNAME)
|
||||||
Q $NA(@C0XSN@(ZIEN,1))
|
Q $NA(@C0XSN@(ZIEN,1))
|
||||||
;
|
;
|
||||||
FILEIN(ZINTMP,ZDIR,ZFNAME,ZLVL) ; READS A FILE INTO ZINTMP USING FTG^%ZISH
|
FILEIN(ZINTMP,ZDIR,ZFNAME,ZLVL) ; READS A FILE INTO ZINTMP USING FTG^%ZISH
|
||||||
; ZINTMP IS PASSED BY NAME AND INCLUDES THE NEW SUBSCRIPT
|
; ZINTMP IS PASSED BY NAME AND INCLUDES THE NEW SUBSCRIPT
|
||||||
; IE ^TMP("C0X","FILEIN",1)
|
; IE ^TMP("C0X","FILEIN",1)
|
||||||
; ZLVL IN THIS CASE WOULD BE 3 INCREMENTING THE 1
|
; ZLVL IN THIS CASE WOULD BE 3 INCREMENTING THE 1
|
||||||
; EXTRINSIC WHICH RETURNS THE RESULT OF FTG^%ZISH
|
; EXTRINSIC WHICH RETURNS THE RESULT OF FTG^%ZISH
|
||||||
S OK=$$FTG^%ZISH(ZDIR,FNAME,ZINTMP,ZLVL)
|
S OK=$$FTG^%ZISH(ZDIR,FNAME,ZINTMP,ZLVL)
|
||||||
Q OK
|
Q OK
|
||||||
;
|
;
|
||||||
TESTPROC ; TEST PROCESS WITH EXISTING SMALL RDF FILE
|
TESTPROC ; TEST PROCESS WITH EXISTING SMALL RDF FILE
|
||||||
S ZIN=$NA(^TMP("C0X",12226,"FILEIN"))
|
S ZIN=$NA(^TMP("C0X",12226,"FILEIN"))
|
||||||
S ZGRAPH="/test/rdfFile"
|
S ZGRAPH="/test/rdfFile"
|
||||||
S ZM="/test/rdfFile/meta"
|
S ZM="/test/rdfFile/meta"
|
||||||
D PROCESS(.G,ZIN,ZGRAPH,ZM)
|
D PROCESS(.G,ZIN,ZGRAPH,ZM)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
PROCESS(ZRTN,ZRDF,ZGRF,ZMETA,FARY) ; PROCESS AN INCOMING RDF FILE
|
PROCESS(ZRTN,ZRDF,ZGRF,ZMETA,FARY) ; PROCESS AN INCOMING RDF FILE
|
||||||
; ZRTN IS PASS BY REFERENCE AND RETURNS MESSAGES ABOUT THE PROCESSING
|
; ZRTN IS PASS BY REFERENCE AND RETURNS MESSAGES ABOUT THE PROCESSING
|
||||||
; ZRDF IS PASSED BY NAME AND IS THE GLOBAL CONTAINING THE RDF FILE
|
; ZRDF IS PASSED BY NAME AND IS THE GLOBAL CONTAINING THE RDF FILE
|
||||||
; ZGRF IS THE NAME OF THE GRAPH TO USE IN THE TRIPLE STORE FOR RESULTS
|
; ZGRF IS THE NAME OF THE GRAPH TO USE IN THE TRIPLE STORE FOR RESULTS
|
||||||
; ZMETA IS OPTIONAL AND IS THE NAME OF THE GRAPH TO STORE METADATA
|
; ZMETA IS OPTIONAL AND IS THE NAME OF THE GRAPH TO STORE METADATA
|
||||||
;
|
;
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
; -- first parse the rdf file with the MXML parser
|
; -- first parse the rdf file with the MXML parser
|
||||||
;S C0XDOCID=$$PARSE^C0CNHIN(ZRDF,"C0XARRAY") ; PARSE WITH MXML
|
;S C0XDOCID=$$PARSE^C0CNHIN(ZRDF,"C0XARRAY") ; PARSE WITH MXML
|
||||||
S C0XDOCID=$$EN^MXMLDOM(ZRDF,"W")
|
S C0XDOCID=$$EN^MXMLDOM(ZRDF,"W")
|
||||||
; -- assign the MXLM dom global name to ZDOM
|
; -- assign the MXLM dom global name to ZDOM
|
||||||
S ZDOM=$NA(^TMP("MXMLDOM",$J,C0XDOCID))
|
S ZDOM=$NA(^TMP("MXMLDOM",$J,C0XDOCID))
|
||||||
W !,$O(@ZDOM@(""),-1)," XML NODES PARSED"
|
W !,$O(@ZDOM@(""),-1)," XML NODES PARSED"
|
||||||
; -- populate the metagraph to point to the graph with status unfinished
|
; -- populate the metagraph to point to the graph with status unfinished
|
||||||
S METAS=$$ANONS ; GET AN ANONOMOUS RANDOM SUBJECT
|
S METAS=$$ANONS ; GET AN ANONOMOUS RANDOM SUBJECT
|
||||||
I '$D(ZMETA) S ZMETA="_:G"_$$LKY9 ; RANDOM GRAPH NAME FOR METAGRAPH
|
I '$D(ZMETA) S ZMETA="_:G"_$$LKY9 ; RANDOM GRAPH NAME FOR METAGRAPH
|
||||||
D ADD(ZMETA,METAS,"fmts:about",ZGRF,FARY) ; POINT THE META TO THE GRAPH
|
D ADD(ZMETA,METAS,"fmts:about",ZGRF,FARY) ; POINT THE META TO THE GRAPH
|
||||||
D ADD(ZMETA,METAS,"fmts:status","unfinished",FARY) ; mark as unfinished
|
D ADD(ZMETA,METAS,"fmts:status","unfinished",FARY) ; mark as unfinished
|
||||||
;S C0XDATE=$$FMDTOUTC^C0CUTIL($$NOW^XLFDT,"DT")
|
;S C0XDATE=$$FMDTOUTC^C0CUTIL($$NOW^XLFDT,"DT")
|
||||||
S C0XDATE=$$NOW^XLFDT
|
S C0XDATE=$$NOW^XLFDT
|
||||||
D ADD(ZMETA,METAS,"fmts:dateTime",C0XDATE,FARY)
|
D ADD(ZMETA,METAS,"fmts:dateTime",C0XDATE,FARY)
|
||||||
D UPDIE(.C0XFDA) ; commit the metagraph changes to the triple store
|
D UPDIE(.C0XFDA) ; commit the metagraph changes to the triple store
|
||||||
; --
|
; --
|
||||||
; -- pull out the vocabularies in the RDF statement. marked with xmlns:
|
; -- pull out the vocabularies in the RDF statement. marked with xmlns:
|
||||||
; -- put them in a local variable for quick reference
|
; -- put them in a local variable for quick reference
|
||||||
; -- TODO: create a graph for vocabularies and validate incoming against it
|
; -- TODO: create a graph for vocabularies and validate incoming against it
|
||||||
;
|
;
|
||||||
S C0XVOC=""
|
S C0XVOC=""
|
||||||
N ZI,ZJ,ZK S ZI=""
|
N ZI,ZJ,ZK S ZI=""
|
||||||
F S ZI=$O(@ZDOM@(1,"A",ZI)) Q:ZI="" D ; FOR EACH xmlns
|
F S ZI=$O(@ZDOM@(1,"A",ZI)) Q:ZI="" D ; FOR EACH xmlns
|
||||||
. S ZVOC=$P(ZI,"xmlns:",2)
|
. S ZVOC=$P(ZI,"xmlns:",2)
|
||||||
. I ZVOC'="" S C0XVOC(ZVOC)=$G(@ZDOM@(1,"A",ZI))
|
. I ZVOC'="" S C0XVOC(ZVOC)=$G(@ZDOM@(1,"A",ZI))
|
||||||
;W !,"VOCABS:" ZWR C0XVOC
|
;W !,"VOCABS:" ZWR C0XVOC
|
||||||
;
|
;
|
||||||
; -- look for children called rdf:Description. quit if none. not an rdf file
|
; -- look for children called rdf:Description. quit if none. not an rdf file
|
||||||
;
|
;
|
||||||
S ZI=$O(@ZDOM@(1,"C",""))
|
S ZI=$O(@ZDOM@(1,"C",""))
|
||||||
I $G(@ZDOM@(1,"C",ZI))'="rdf:Description" D Q ; not an rdf file
|
I $G(@ZDOM@(1,"C",ZI))'="rdf:Description" D Q ; not an rdf file
|
||||||
. W !,"Error. Not an RDF file. Cannot process."
|
. W !,"Error. Not an RDF file. Cannot process."
|
||||||
;
|
;
|
||||||
; -- now process the rdf description children
|
; -- now process the rdf description children
|
||||||
;
|
;
|
||||||
S ZI=""
|
S ZI=""
|
||||||
S (C0XSUB,C0XPRE,C0XOBJ)="" ; INITIALIZE subject, object and predicate
|
S (C0XSUB,C0XPRE,C0XOBJ)="" ; INITIALIZE subject, object and predicate
|
||||||
F S ZI=$O(@ZDOM@(1,"C",ZI)) Q:ZI="" D ;
|
F S ZI=$O(@ZDOM@(1,"C",ZI)) Q:ZI="" D ;
|
||||||
. ; -- we are skipping any child that is not rdf:Description
|
. ; -- we are skipping any child that is not rdf:Description
|
||||||
. ; -- TODO: check to see if this is right in general
|
. ; -- TODO: check to see if this is right in general
|
||||||
. ;
|
. ;
|
||||||
. IF $G(@ZDOM@(1,"C",ZI))'="rdf:Description" D Q ;
|
. IF $G(@ZDOM@(1,"C",ZI))'="rdf:Description" D Q ;
|
||||||
. . W !,"SKIPPING NODE: ",ZI
|
. . W !,"SKIPPING NODE: ",ZI
|
||||||
. ; -- now looking for the subject for the triples
|
. ; -- now looking for the subject for the triples
|
||||||
. S ZX=$G(@ZDOM@(ZI,"A","rdf:about"))
|
. S ZX=$G(@ZDOM@(ZI,"A","rdf:about"))
|
||||||
. I ZX'="" D ; we have the subject
|
. I ZX'="" D ; we have the subject
|
||||||
. . ;W " about: ",ZX
|
. . ;W " about: ",ZX
|
||||||
. . S C0XSUB=ZX
|
. . S C0XSUB=ZX
|
||||||
. E D ;
|
. E D ;
|
||||||
. . S ZX=$G(@ZDOM@(ZI,"A","rdf:nodeID")) ; node id is another style of subject
|
. . S ZX=$G(@ZDOM@(ZI,"A","rdf:nodeID")) ; node id is another style of subject
|
||||||
. . I ZX'="" D ;
|
. . I ZX'="" D ;
|
||||||
. . . S C0XSUB=ZX
|
. . . S C0XSUB=ZX
|
||||||
. I C0XSUB="" S C0XSUB=$$ANONS ; DEFAULT TO BLANK SUBJECT
|
. I C0XSUB="" S C0XSUB=$$ANONS ; DEFAULT TO BLANK SUBJECT
|
||||||
. ;
|
. ;
|
||||||
. ; -- we now have the subject. the children of this node have the rest
|
. ; -- we now have the subject. the children of this node have the rest
|
||||||
. ;
|
. ;
|
||||||
. S ZJ="" ; for the children of the rdf:Description nodes
|
. S ZJ="" ; for the children of the rdf:Description nodes
|
||||||
. F S ZJ=$O(@ZDOM@(ZI,"C",ZJ)) Q:ZJ="" D ; for each child
|
. F S ZJ=$O(@ZDOM@(ZI,"C",ZJ)) Q:ZJ="" D ; for each child
|
||||||
. . S C0XPRE=@ZDOM@(ZJ) ; the predicate without a prefix
|
. . S C0XPRE=@ZDOM@(ZJ) ; the predicate without a prefix
|
||||||
. . S ZX=$G(@ZDOM@(ZJ,"A","xmlns")) ; name space
|
. . S ZX=$G(@ZDOM@(ZJ,"A","xmlns")) ; name space
|
||||||
. . I ZX'="" S C0XPRE=ZX_C0XPRE ; add the namespace prefix
|
. . I ZX'="" S C0XPRE=ZX_C0XPRE ; add the namespace prefix
|
||||||
. . I C0XPRE[":" D ; expand using vocabulary
|
. . I C0XPRE[":" D ; expand using vocabulary
|
||||||
. . . N ZB,ZA
|
. . . N ZB,ZA
|
||||||
. . . S ZB=$P(C0XPRE,":",1)
|
. . . S ZB=$P(C0XPRE,":",1)
|
||||||
. . . S ZA=$P(C0XPRE,":",2)
|
. . . S ZA=$P(C0XPRE,":",2)
|
||||||
. . . I $G(C0XVOC(ZB))'="" D ;
|
. . . I $G(C0XVOC(ZB))'="" D ;
|
||||||
. . . . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
|
. . . . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
|
||||||
. . S ZY=$G(@ZDOM@(ZJ,"A","rdf:resource")) ; potential object
|
. . S ZY=$G(@ZDOM@(ZJ,"A","rdf:resource")) ; potential object
|
||||||
. . I ZY'="" D Q ;
|
. . I ZY'="" D Q ;
|
||||||
. . . S C0XOBJ=ZY ; object
|
. . . S C0XOBJ=ZY ; object
|
||||||
. . . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; finally. our first real triple
|
. . . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; finally. our first real triple
|
||||||
. . ; -- this is an else because of the quit above
|
. . ; -- this is an else because of the quit above
|
||||||
. . S ZX=$G(@ZDOM@(ZJ,"A","rdf:nodeID")) ; fishing for nodeId object
|
. . S ZX=$G(@ZDOM@(ZJ,"A","rdf:nodeID")) ; fishing for nodeId object
|
||||||
. . I ZX'="" D Q ; got one
|
. . I ZX'="" D Q ; got one
|
||||||
. . . S C0XOBJ=ZX ; we are using the incoming nodeIDs as object/subject
|
. . . S C0XOBJ=ZX ; we are using the incoming nodeIDs as object/subject
|
||||||
. . . ; without change... this could be foolish .. look at it again later
|
. . . ; without change... this could be foolish .. look at it again later
|
||||||
. . . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; go for it and add a node
|
. . . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; go for it and add a node
|
||||||
. . S C0XOBJ=$G(@ZDOM@(ZJ,"T",1)) ; hopefully an object is here
|
. . S C0XOBJ=$G(@ZDOM@(ZJ,"T",1)) ; hopefully an object is here
|
||||||
. . I C0XOBJ="" D Q ; not a happy situation
|
. . I C0XOBJ="" D Q ; not a happy situation
|
||||||
. . . W !,"ERROR, NO OBJECT FOUND FOR NODE: ",ZJ
|
. . . W !,"ERROR, NO OBJECT FOUND FOR NODE: ",ZJ
|
||||||
. . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; go for it and add a node
|
. . D ADD(ZGRF,C0XSUB,C0XPRE,C0XOBJ) ; go for it and add a node
|
||||||
W !,"INSERTING ",C0XCNT," TRIPLES"
|
W !,"INSERTING ",C0XCNT," TRIPLES"
|
||||||
D UPDIE(.C0XFDA) ; commit the updates to the file
|
D UPDIE(.C0XFDA) ; commit the updates to the file
|
||||||
; next, mark the graph as finished
|
; next, mark the graph as finished
|
||||||
S C0XEND=$$NOW^XLFDT
|
S C0XEND=$$NOW^XLFDT
|
||||||
W !," ENDED AT: ",C0XEND
|
W !," ENDED AT: ",C0XEND
|
||||||
S C0XDIFF=$$FMDIFF^XLFDT(C0XEND,C0XSTART,2)
|
S C0XDIFF=$$FMDIFF^XLFDT(C0XEND,C0XSTART,2)
|
||||||
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
||||||
W !," APPROXIMATELY ",$P(C0XCNT/C0XDIFF,".")," TRIPLES PER SECOND"
|
W !," APPROXIMATELY ",$P(C0XCNT/C0XDIFF,".")," TRIPLES PER SECOND"
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
SHOW(ZN) ;
|
SHOW(ZN) ;
|
||||||
ZWR ^TMP("MXMLDOM",$J,1,ZN,*)
|
ZWR ^TMP("MXMLDOM",$J,1,ZN,*)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
ANONS() ; RETURNS AN ANONOMOUS SUBJECT
|
ANONS() ; RETURNS AN ANONOMOUS SUBJECT
|
||||||
Q "_S:"_$$LKY9
|
Q "_S:"_$$LKY9
|
||||||
;
|
;
|
||||||
NEWG(NGRAPH,NMETA) ; CREATES A NEW META GRAPH, MARKS IT AS UNFINISHED
|
NEWG(NGRAPH,NMETA) ; CREATES A NEW META GRAPH, MARKS IT AS UNFINISHED
|
||||||
; THEN CREATES A NEW GRAPH AND POINTS THE METAGRAPH TO IT
|
; THEN CREATES A NEW GRAPH AND POINTS THE METAGRAPH TO IT
|
||||||
; NGRAPH AND NMETA ARE PASSED BY REFERENCE AND ARE THE RETURN
|
; NGRAPH AND NMETA ARE PASSED BY REFERENCE AND ARE THE RETURN
|
||||||
S NGRAPH="G"_$$LKY9
|
S NGRAPH="G"_$$LKY9
|
||||||
S NMETA=NGRAPH_"A"
|
S NMETA=NGRAPH_"A"
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
ADD(ZG,ZS,ZP,ZO,FARY) ; ADD A TRIPLE TO THE TRIPLESTORE. ALL VALUES ARE TEXT
|
ADD(ZG,ZS,ZP,ZO,FARY) ; ADD A TRIPLE TO THE TRIPLESTORE. ALL VALUES ARE TEXT
|
||||||
; THE FDA IS SET UP BUT THE FILES ARE NOT UPDATED. CALL UPDIE TO COMPLETE
|
; THE FDA IS SET UP BUT THE FILES ARE NOT UPDATED. CALL UPDIE TO COMPLETE
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
D USEFARY(FARY)
|
D USEFARY(FARY)
|
||||||
I '$D(C0XCNT) S C0XCNT=0
|
I '$D(C0XCNT) S C0XCNT=0
|
||||||
N ZNODE
|
N ZNODE
|
||||||
S ZNODE="N"_$$LKY17
|
S ZNODE="N"_$$LKY17
|
||||||
N ZNARY ; GET READY TO CALL IENOFA
|
N ZNARY ; GET READY TO CALL IENOFA
|
||||||
S ZNARY("ZG",ZG)=""
|
S ZNARY("ZG",ZG)=""
|
||||||
S ZNARY("ZS",ZS)=""
|
S ZNARY("ZS",ZS)=""
|
||||||
S ZNARY("ZP",ZP)=""
|
S ZNARY("ZP",ZP)=""
|
||||||
S ZNARY("ZO",ZO)=""
|
S ZNARY("ZO",ZO)=""
|
||||||
D IENOFA(.ZIENS,.ZNARY,FARY) ; RESOLVE/ADD STRINGS
|
D IENOFA(.ZIENS,.ZNARY,FARY) ; RESOLVE/ADD STRINGS
|
||||||
;S ZGIEN=$$IENOF(ZG) ; LAYGO TO GET IEN
|
;S ZGIEN=$$IENOF(ZG) ; LAYGO TO GET IEN
|
||||||
;S ZSIEN=$$IENOF(ZS)
|
;S ZSIEN=$$IENOF(ZS)
|
||||||
;S ZPIEN=$$IENOF(ZP)
|
;S ZPIEN=$$IENOF(ZP)
|
||||||
;S ZOIEN=$$IENOF(ZO)
|
;S ZOIEN=$$IENOF(ZO)
|
||||||
;I $D(C0XFDA) D UPDIE ; ADD THE STRINGS IF NEEDED
|
;I $D(C0XFDA) D UPDIE ; ADD THE STRINGS IF NEEDED
|
||||||
S C0XCNT=C0XCNT+1
|
S C0XCNT=C0XCNT+1
|
||||||
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.01)=ZNODE
|
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.01)=ZNODE
|
||||||
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.02)=$O(ZIENS("IEN","ZG",""))
|
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.02)=$O(ZIENS("IEN","ZG",""))
|
||||||
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.03)=$O(ZIENS("IEN","ZS",""))
|
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.03)=$O(ZIENS("IEN","ZS",""))
|
||||||
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.04)=$O(ZIENS("IEN","ZP",""))
|
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.04)=$O(ZIENS("IEN","ZP",""))
|
||||||
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.05)=$O(ZIENS("IEN","ZO",""))
|
S C0XFDA(C0XTFN,"?+"_C0XCNT_",",.05)=$O(ZIENS("IEN","ZO",""))
|
||||||
; REMEMBER TO CALL UPDIE WHEN YOU'RE DONE
|
; REMEMBER TO CALL UPDIE WHEN YOU'RE DONE
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
N ZN,ZI
|
N ZN,ZI
|
||||||
S ZN=""
|
S ZN=""
|
||||||
F ZI=1:1:9 D ;
|
F ZI=1:1:9 D ;
|
||||||
. S ZN=ZN_$R(10)
|
. S ZN=ZN_$R(10)
|
||||||
Q ZN
|
Q ZN
|
||||||
;
|
;
|
||||||
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
N ZN,ZI
|
N ZN,ZI
|
||||||
S ZN=""
|
S ZN=""
|
||||||
F ZI=1:1:17 D ;
|
F ZI=1:1:17 D ;
|
||||||
. S ZN=ZN_$R(10)
|
. S ZN=ZN_$R(10)
|
||||||
Q ZN
|
Q ZN
|
||||||
;
|
;
|
||||||
IENOF(ZSTRING,FARY) ; EXTRINSIC WHICH RETURNS THE IEN OF ZS IN THE STRINGS FILE
|
IENOF(ZSTRING,FARY) ; EXTRINSIC WHICH RETURNS THE IEN OF ZS IN THE STRINGS FILE
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
N ZIEN
|
N ZIEN
|
||||||
S ZIEN=$O(@C0XSN@("B",ZSTRING,""))
|
S ZIEN=$O(@C0XSN@("B",ZSTRING,""))
|
||||||
I ZIEN="" D ;
|
I ZIEN="" D ;
|
||||||
. S C0XFDA2(C0XSFN,"+1,",.01)=ZSTRING
|
. S C0XFDA2(C0XSFN,"+1,",.01)=ZSTRING
|
||||||
. D UPDIE(.C0XFDA2)
|
. D UPDIE(.C0XFDA2)
|
||||||
. S ZIEN=$O(@C0XSN@("B",ZSTRING,""))
|
. S ZIEN=$O(@C0XSN@("B",ZSTRING,""))
|
||||||
. K C0XFDA2
|
. K C0XFDA2
|
||||||
Q ZIEN
|
Q ZIEN
|
||||||
;
|
;
|
||||||
IENOFA(ZOUTARY,ZINARY,FARY) ; RESOLVE STRINGS TO IEN IN STRINGS FILE
|
IENOFA(ZOUTARY,ZINARY,FARY) ; RESOLVE STRINGS TO IEN IN STRINGS FILE
|
||||||
; OR ADD THEM IF
|
; OR ADD THEM IF
|
||||||
; MISSING. ZINARY AND ZOUTARY ARE PASSED BY REFERENCE
|
; MISSING. ZINARY AND ZOUTARY ARE PASSED BY REFERENCE
|
||||||
; ZINARY LOOKS LIKE ZINARY("VAR","VAL")=""
|
; ZINARY LOOKS LIKE ZINARY("VAR","VAL")=""
|
||||||
; RETURNS IN ZOUTARY OF THE FORM ZOUTARY("IEN","VAR",IEN)=""
|
; RETURNS IN ZOUTARY OF THE FORM ZOUTARY("IEN","VAR",IEN)=""
|
||||||
I '$D(FARY) D ;
|
I '$D(FARY) D ;
|
||||||
. D INITFARY("C0XFARY")
|
. D INITFARY("C0XFARY")
|
||||||
. S FARY="C0XFARY"
|
. S FARY="C0XFARY"
|
||||||
K ZOUTARY ; START WITH CLEAN RESULTS
|
K ZOUTARY ; START WITH CLEAN RESULTS
|
||||||
K C0XFDA2 ; USE A SEPARATE FDA FOR THIS
|
K C0XFDA2 ; USE A SEPARATE FDA FOR THIS
|
||||||
N ZI S ZI=""
|
N ZI S ZI=""
|
||||||
N ZV,ZIEN
|
N ZV,ZIEN
|
||||||
N ZCNT S ZCNT=0
|
N ZCNT S ZCNT=0
|
||||||
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; LOOK FOR MISSING STRINGS
|
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; LOOK FOR MISSING STRINGS
|
||||||
. S ZV=$O(ZINARY(ZI,""))
|
. S ZV=$O(ZINARY(ZI,""))
|
||||||
. I $O(@C0XSN@("B",ZV,""))="" D ;
|
. I $O(@C0XSN@("B",ZV,""))="" D ;
|
||||||
. . S ZCNT=ZCNT+1
|
. . S ZCNT=ZCNT+1
|
||||||
. . S C0XFDA2(C0XSFN,"+"_ZCNT_",",.01)=ZV
|
. . S C0XFDA2(C0XSFN,"+"_ZCNT_",",.01)=ZV
|
||||||
I $D(C0XFDA2) D ;
|
I $D(C0XFDA2) D ;
|
||||||
. D UPDIE(.C0XFDA2) ; ADD MISSING STRINGS
|
. D UPDIE(.C0XFDA2) ; ADD MISSING STRINGS
|
||||||
. K C0XFDA2 ; CLEAN UP
|
. K C0XFDA2 ; CLEAN UP
|
||||||
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; NOT GET ALL IENS
|
F S ZI=$O(ZINARY(ZI)) Q:ZI="" D ; NOT GET ALL IENS
|
||||||
. S ZV=$O(ZINARY(ZI,""))
|
. S ZV=$O(ZINARY(ZI,""))
|
||||||
. S ZIEN=$O(@C0XSN@("B",ZV,"")) ; THEY SHOULD BE THERE NOW
|
. S ZIEN=$O(@C0XSN@("B",ZV,"")) ; THEY SHOULD BE THERE NOW
|
||||||
. I ZIEN="" D ;
|
. I ZIEN="" D ;
|
||||||
. . W !,"ERROR ADDING STRING: ",ZV
|
. . W !,"ERROR ADDING STRING: ",ZV
|
||||||
. . B
|
. . B
|
||||||
. S ZOUTARY("IEN",ZI,ZIEN)=""
|
. S ZOUTARY("IEN",ZI,ZIEN)=""
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
UPDIE(ZFDA) ; INTERNAL ROUTINE TO CALL UPDATE^DIE AND CHECK FOR ERRORS
|
UPDIE(ZFDA) ; INTERNAL ROUTINE TO CALL UPDATE^DIE AND CHECK FOR ERRORS
|
||||||
; ZFDA IS PASSED BY REFERENCE
|
; ZFDA IS PASSED BY REFERENCE
|
||||||
;ZWR ZFDA
|
;ZWR ZFDA
|
||||||
;B
|
;B
|
||||||
K ZERR
|
K ZERR
|
||||||
D CLEAN^DILF
|
D CLEAN^DILF
|
||||||
D UPDATE^DIE("","ZFDA","","ZERR")
|
D UPDATE^DIE("","ZFDA","","ZERR")
|
||||||
I $D(ZERR) S ZZERR=ZZERR ; ZZERR DOESN'T EXIST,
|
I $D(ZERR) S ZZERR=ZZERR ; ZZERR DOESN'T EXIST,
|
||||||
; INVOKE THE ERROR TRAP IF TASKED
|
; INVOKE THE ERROR TRAP IF TASKED
|
||||||
;. W "ERROR",!
|
;. W "ERROR",!
|
||||||
;. ZWR ZERR
|
;. ZWR ZERR
|
||||||
;. B
|
;. B
|
||||||
K ZFDA
|
K ZFDA
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
|
|
178
p/C0XRDF.m
178
p/C0XRDF.m
|
@ -1,89 +1,89 @@
|
||||||
C0XRDF ; GPL - Fileman Triples RDF out ;11/07/11 17:05
|
C0XRDF ; GPL - Fileman Triples RDF out ;11/07/11 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2012 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2012 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
REPLYSTART(ZARY);
|
REPLYSTART(ZARY);
|
||||||
D ADD(ZARY,"<?xml version=""1.0"" encoding=""UTF-8""?>")
|
D ADD(ZARY,"<?xml version=""1.0"" encoding=""UTF-8""?>")
|
||||||
D ADD(ZARY,"<rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"">")
|
D ADD(ZARY,"<rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"">")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
LISTSTART(ZARY,ZNAM)
|
LISTSTART(ZARY,ZNAM)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
DICTSTART(ZARY,ZSUB)
|
DICTSTART(ZARY,ZSUB)
|
||||||
I ZSUB["http" D Q ;
|
I ZSUB["http" D Q ;
|
||||||
. D ADD(ZARY,"<rdf:Description rdf:about="""_ZSUB_""">")
|
. D ADD(ZARY,"<rdf:Description rdf:about="""_ZSUB_""">")
|
||||||
I $E(ZSUB,1,1)="/" D Q ;
|
I $E(ZSUB,1,1)="/" D Q ;
|
||||||
. D ADD(ZARY,"<rdf:Description rdf:about="""_ZSUB_""">")
|
. D ADD(ZARY,"<rdf:Description rdf:about="""_ZSUB_""">")
|
||||||
D ADD(ZARY,"<rdf:Description rdf:nodeID="""_ZSUB_""">")
|
D ADD(ZARY,"<rdf:Description rdf:nodeID="""_ZSUB_""">")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
DASSERT(ZARY,ZPRED,ZOBJ)
|
DASSERT(ZARY,ZPRED,ZOBJ)
|
||||||
I ZPRED[":" D Q ;
|
I ZPRED[":" D Q ;
|
||||||
. I ZPRED="rdf:type" D Q ;
|
. I ZPRED="rdf:type" D Q ;
|
||||||
. . D ADD(ZARY,"<rdf:type rdf:resource="""_$$EXT^C0XUTIL(ZOBJ)_"""/>")
|
. . D ADD(ZARY,"<rdf:type rdf:resource="""_$$EXT^C0XUTIL(ZOBJ)_"""/>")
|
||||||
. N ZA,ZB,ZC
|
. N ZA,ZB,ZC
|
||||||
. S ZA=$P(ZPRED,":",1)
|
. S ZA=$P(ZPRED,":",1)
|
||||||
. S ZB=$P(ZPRED,":",2)
|
. S ZB=$P(ZPRED,":",2)
|
||||||
. I $E(ZB,1,1)="/" D ;
|
. I $E(ZB,1,1)="/" D ;
|
||||||
. . S ZB=$P(ZB,"/",2) ; handling gpltest:/note situations
|
. . S ZB=$P(ZB,"/",2) ; handling gpltest:/note situations
|
||||||
. S ZC=C0XVOC(ZA)
|
. S ZC=C0XVOC(ZA)
|
||||||
. I ZOBJ["nodeID:" D Q ;
|
. I ZOBJ["nodeID:" D Q ;
|
||||||
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:nodeID="""_$$EXT^C0XUTIL(ZOBJ)_"""/>")
|
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:nodeID="""_$$EXT^C0XUTIL(ZOBJ)_"""/>")
|
||||||
. S ZOBJ=$$EXT^C0XUTIL(ZOBJ)
|
. S ZOBJ=$$EXT^C0XUTIL(ZOBJ)
|
||||||
. I ZOBJ["http" D Q ;
|
. I ZOBJ["http" D Q ;
|
||||||
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:resource="""_ZOBJ_"""/>")
|
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:resource="""_ZOBJ_"""/>")
|
||||||
. I $E(ZOBJ,1,1)="/" D Q ;
|
. I $E(ZOBJ,1,1)="/" D Q ;
|
||||||
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:resource="""_ZOBJ_"""/>")
|
. . D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""" rdf:resource="""_ZOBJ_"""/>")
|
||||||
. D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""">"_$$EXT^C0XUTIL(ZOBJ)_"</"_ZB_">")
|
. D ADD(ZARY,"<"_ZB_" xmlns="""_ZC_""">"_$$EXT^C0XUTIL(ZOBJ)_"</"_ZB_">")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
DICTEND(ZARY)
|
DICTEND(ZARY)
|
||||||
D ADD(ZARY,"</rdf:Description>")
|
D ADD(ZARY,"</rdf:Description>")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
LISTEND(ZARY)
|
LISTEND(ZARY)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
REPLYEND(ZARY)
|
REPLYEND(ZARY)
|
||||||
D ADD(ZARY,"</rdf:RDF>")
|
D ADD(ZARY,"</rdf:RDF>")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
ADD(ZARY,ZELE)
|
ADD(ZARY,ZELE)
|
||||||
N ZI
|
N ZI
|
||||||
I '$D(ZARY) S @ZARY@(1)=ZELE Q ;
|
I '$D(ZARY) S @ZARY@(1)=ZELE Q ;
|
||||||
S ZI=$O(@ZARY@(""),-1)
|
S ZI=$O(@ZARY@(""),-1)
|
||||||
S @ZARY@(ZI+1)=ZELE
|
S @ZARY@(ZI+1)=ZELE
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
rdfout(rdfout,zary) ;
|
rdfout(rdfout,zary) ;
|
||||||
d REPLYSTART("rdfout")
|
d REPLYSTART("rdfout")
|
||||||
d LISTSTART("rdfout","results")
|
d LISTSTART("rdfout","results")
|
||||||
n zi s zi=""
|
n zi s zi=""
|
||||||
f s zi=$o(zary(zi)) q:zi="" d ; for each subject
|
f s zi=$o(zary(zi)) q:zi="" d ; for each subject
|
||||||
. n zii s zii=""
|
. n zii s zii=""
|
||||||
. D DICTSTART("rdfout",$$EXT^C0XUTIL(zi))
|
. D DICTSTART("rdfout",$$EXT^C0XUTIL(zi))
|
||||||
. f s zii=$o(zary(zi,zii)) q:zii="" d ; for each pred^obj pair
|
. f s zii=$o(zary(zi,zii)) q:zii="" d ; for each pred^obj pair
|
||||||
. . d DASSERT("rdfout",$p(zii,"^",1),$p(zii,"^",2))
|
. . d DASSERT("rdfout",$p(zii,"^",1),$p(zii,"^",2))
|
||||||
. D DICTEND("rdfout")
|
. D DICTEND("rdfout")
|
||||||
d LISTEND("rdfout")
|
d LISTEND("rdfout")
|
||||||
d REPLYEND("rdfout")
|
d REPLYEND("rdfout")
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
|
|
250
p/C0XTEST.m
250
p/C0XTEST.m
|
@ -1,125 +1,125 @@
|
||||||
C0XTEST ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
C0XTEST ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
EN ; run the test
|
EN ; run the test
|
||||||
;
|
;
|
||||||
k C0XFDA ; clear the node variable
|
k C0XFDA ; clear the node variable
|
||||||
i '$d(^C0X(101,0)) d ; global doesn't exist
|
i '$d(^C0X(101,0)) d ; global doesn't exist
|
||||||
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
||||||
n zg
|
n zg
|
||||||
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
||||||
n zi
|
n zi
|
||||||
f zi=1:1:100000 d ; try a test of 10000 nodes
|
f zi=1:1:100000 d ; try a test of 10000 nodes
|
||||||
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
||||||
. s C0XFDA(172.101,zi,.02)=zg
|
. s C0XFDA(172.101,zi,.02)=zg
|
||||||
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
||||||
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
||||||
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
||||||
S C0XST=$$NOW^XLFDT ; start of the insertion test
|
S C0XST=$$NOW^XLFDT ; start of the insertion test
|
||||||
W !,"INSERTION STARTS AT ",C0XST,!
|
W !,"INSERTION STARTS AT ",C0XST,!
|
||||||
d BULKLOAD(.C0XFDA)
|
d BULKLOAD(.C0XFDA)
|
||||||
s C0XEND=$$NOW^XLFDT ; end of the insertion test
|
s C0XEND=$$NOW^XLFDT ; end of the insertion test
|
||||||
W !,"INSERTION ENDS AT ",C0XEND
|
W !,"INSERTION ENDS AT ",C0XEND
|
||||||
S C0XDIFF=$$FMDIFF^XLFDT(C0XEND,C0XST,2)
|
S C0XDIFF=$$FMDIFF^XLFDT(C0XEND,C0XST,2)
|
||||||
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
||||||
I C0XDIFF>0 W !," APPROXIMATELY ",$P(100000/C0XDIFF,".")," NODES PER SECOND"
|
I C0XDIFF>0 W !," APPROXIMATELY ",$P(100000/C0XDIFF,".")," NODES PER SECOND"
|
||||||
q
|
q
|
||||||
;
|
;
|
||||||
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
N ZN,ZI
|
N ZN,ZI
|
||||||
S ZN=""
|
S ZN=""
|
||||||
F ZI=1:1:9 D ;
|
F ZI=1:1:9 D ;
|
||||||
. S ZN=ZN_$R(10)
|
. S ZN=ZN_$R(10)
|
||||||
Q ZN
|
Q ZN
|
||||||
;
|
;
|
||||||
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
N ZN,ZI
|
N ZN,ZI
|
||||||
S ZN=""
|
S ZN=""
|
||||||
F ZI=1:1:17 D ;
|
F ZI=1:1:17 D ;
|
||||||
. S ZN=ZN_$R(10)
|
. S ZN=ZN_$R(10)
|
||||||
Q ZN
|
Q ZN
|
||||||
;
|
;
|
||||||
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
||||||
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
||||||
; QUITS IF FILE IS NOT 172.101
|
; QUITS IF FILE IS NOT 172.101
|
||||||
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
||||||
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
||||||
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
||||||
; ZBFDA IS PASSED BY REFERENCE
|
; ZBFDA IS PASSED BY REFERENCE
|
||||||
;
|
;
|
||||||
; -- reserves a block of iens from file 172.101 by locking the zero node
|
; -- reserves a block of iens from file 172.101 by locking the zero node
|
||||||
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
||||||
; -- then unlocking to minimize the duration of the lock
|
; -- then unlocking to minimize the duration of the lock
|
||||||
;
|
;
|
||||||
W !,"USING BULKLOAD"
|
W !,"USING BULKLOAD"
|
||||||
I '$D(ZBFDA) Q ; EMPTY FDA
|
I '$D(ZBFDA) Q ; EMPTY FDA
|
||||||
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
||||||
N ZCNT,ZP3,ZP4
|
N ZCNT,ZP3,ZP4
|
||||||
; -- find the number of nodes to insert
|
; -- find the number of nodes to insert
|
||||||
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
||||||
I ZCNT="" D Q ;
|
I ZCNT="" D Q ;
|
||||||
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
||||||
. B
|
. B
|
||||||
; -- lock the zero node and reserve a block of iens to insert
|
; -- lock the zero node and reserve a block of iens to insert
|
||||||
W !,"LOCKING ZERO NODE"
|
W !,"LOCKING ZERO NODE"
|
||||||
LOCK +^C0X(101,0)
|
LOCK +^C0X(101,0)
|
||||||
S ZP3=$P(^C0X(101,0),U,3)
|
S ZP3=$P(^C0X(101,0),U,3)
|
||||||
S ZP4=$P(^C0X(101,0),U,4)
|
S ZP4=$P(^C0X(101,0),U,4)
|
||||||
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
||||||
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
||||||
LOCK -^C0X(101,0)
|
LOCK -^C0X(101,0)
|
||||||
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
||||||
S ZBASE=ZP3 ; the last ien in the file
|
S ZBASE=ZP3 ; the last ien in the file
|
||||||
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
||||||
W !,$$NOW^XLFDT
|
W !,$$NOW^XLFDT
|
||||||
S ZI=""
|
S ZI=""
|
||||||
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
||||||
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
||||||
. I ZN="" D BLKERR Q ;
|
. I ZN="" D BLKERR Q ;
|
||||||
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
||||||
. I ZG="" D BLKERR Q ;
|
. I ZG="" D BLKERR Q ;
|
||||||
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
||||||
. I ZS="" D BLKERR Q ;
|
. I ZS="" D BLKERR Q ;
|
||||||
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
||||||
. I ZP="" D BLKERR Q ;
|
. I ZP="" D BLKERR Q ;
|
||||||
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
||||||
. I ZO="" D BLKERR Q ;
|
. I ZO="" D BLKERR Q ;
|
||||||
. S ZIEN=ZI+ZBASE ; the new ien
|
. S ZIEN=ZI+ZBASE ; the new ien
|
||||||
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
||||||
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
||||||
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
||||||
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
||||||
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
||||||
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
||||||
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
||||||
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
||||||
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
||||||
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
||||||
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
BLKERR ;
|
BLKERR ;
|
||||||
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
||||||
B
|
B
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
|
|
263
p/C0XTKSB.m
263
p/C0XTKSB.m
|
@ -1,131 +1,132 @@
|
||||||
C0XTESTKSB ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
C0XTESTKSB ; GPL - Fileman Triples bulk load tester ;11/6/11 17:05
|
||||||
; KSB - modified to fix a minor bug and to use;;;;;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012
|
||||||
; high resolution time if routines available ; 11/19/11 1410 EST
|
; KSB - modified to fix a minor bug and to use;;;;;Build 10
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 1
|
; high resolution time if routines available ; 11/19/11 1410 EST
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;;0.1;C0X;nopatch;noreleasedate;Build 1
|
||||||
;General Public License See attached copy of the License.
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;
|
;General Public License See attached copy of the License.
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;
|
||||||
;it under the terms of the GNU General Public License as published by
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;it under the terms of the GNU General Public License as published by
|
||||||
;(at your option) any later version.
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;
|
;(at your option) any later version.
|
||||||
;This program is distributed in the hope that it will be useful,
|
;
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;This program is distributed in the hope that it will be useful,
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;GNU General Public License for more details.
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;
|
;GNU General Public License for more details.
|
||||||
;You should have received a copy of the GNU General Public License along
|
;
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;You should have received a copy of the GNU General Public License along
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
Q
|
;
|
||||||
;
|
Q
|
||||||
EN ; run the test
|
;
|
||||||
;
|
EN ; run the test
|
||||||
k C0XFDA ; clear the node variable
|
;
|
||||||
s U="^" ; initialization - Bhaskar 20111119
|
k C0XFDA ; clear the node variable
|
||||||
i '$d(^C0X(101,0)) d ; global doesn't exist
|
s U="^" ; initialization - Bhaskar 20111119
|
||||||
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
i '$d(^C0X(101,0)) d ; global doesn't exist
|
||||||
n zg
|
. s ^C0X(101,0)="C0X TRIPLE^172.101^1^1"
|
||||||
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
n zg
|
||||||
n zi
|
S zg="_:G"_$$LKY9 ; all nodes are in the same graph
|
||||||
f zi=1:1:10000 d ; try a test of 10000 nodes
|
n zi
|
||||||
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
f zi=1:1:10000 d ; try a test of 10000 nodes
|
||||||
. s C0XFDA(172.101,zi,.02)=zg
|
. s C0XFDA(172.101,zi,.01)="N"_$$LKY17 ; node name
|
||||||
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
. s C0XFDA(172.101,zi,.02)=zg
|
||||||
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
. s C0XFDA(172.101,zi,.03)=$R(100000)
|
||||||
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
. s C0XFDA(172.101,zi,.04)=$R(100000)
|
||||||
S C0XST=$$H ; start of the insertion test
|
. s C0XFDA(172.101,zi,.05)=$R(100000)
|
||||||
W !,"INSERTION STARTS AT ",$ZDATE(C0XST,"YEAR-MM-DD:24:60:SS"),!
|
S C0XST=$$H ; start of the insertion test
|
||||||
d BULKLOAD(.C0XFDA)
|
W !,"INSERTION STARTS AT ",$ZDATE(C0XST,"YEAR-MM-DD:24:60:SS"),!
|
||||||
s C0XEND=$$H ; end of the insertion test
|
d BULKLOAD(.C0XFDA)
|
||||||
W !,"INSERTION ENDS AT ",$ZDATE(C0XEND,"YEAR-MM-DD:24:60:SS")
|
s C0XEND=$$H ; end of the insertion test
|
||||||
S C0XDIFF=(86400*($P(C0XEND,",",1)-$P(C0XST,",",1)))+$P(C0XEND,",",2)-$P(C0XST,",",2)
|
W !,"INSERTION ENDS AT ",$ZDATE(C0XEND,"YEAR-MM-DD:24:60:SS")
|
||||||
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
S C0XDIFF=(86400*($P(C0XEND,",",1)-$P(C0XST,",",1)))+$P(C0XEND,",",2)-$P(C0XST,",",2)
|
||||||
W !
|
W !," ELAPSED TIME: ",C0XDIFF," SECONDS"
|
||||||
W:C0XDIFF>0 " APPROXIMATELY ",$FN(10000/C0XDIFF,",",0)," NODES PER SECOND",!
|
W !
|
||||||
q
|
W:C0XDIFF>0 " APPROXIMATELY ",$FN(10000/C0XDIFF,",",0)," NODES PER SECOND",!
|
||||||
;
|
q
|
||||||
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
;
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
N ZN,ZI
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
S ZN=""
|
N ZN,ZI
|
||||||
F ZI=1:1:9 D ;
|
S ZN=""
|
||||||
. S ZN=ZN_$R(10)
|
F ZI=1:1:9 D ;
|
||||||
Q ZN
|
. S ZN=ZN_$R(10)
|
||||||
;
|
Q ZN
|
||||||
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
;
|
||||||
; UNIQUE NODE AND GRAPH NAMES
|
LKY17() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
|
||||||
N ZN,ZI
|
; UNIQUE NODE AND GRAPH NAMES
|
||||||
S ZN=""
|
N ZN,ZI
|
||||||
F ZI=1:1:17 D ;
|
S ZN=""
|
||||||
. S ZN=ZN_$R(10)
|
F ZI=1:1:17 D ;
|
||||||
Q ZN
|
. S ZN=ZN_$R(10)
|
||||||
;
|
Q ZN
|
||||||
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
;
|
||||||
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
BULKLOAD(ZBFDA) ; BULK LOADER FOR LOADING TRIPLES INTO FILE 172.101
|
||||||
; QUITS IF FILE IS NOT 172.101
|
; USING GLOBAL SETS INSTEAD OF UPDATE^DIE
|
||||||
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
; QUITS IF FILE IS NOT 172.101
|
||||||
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
; EXPECTS AN FDA WITHOUT STRINGS FOR THE IENS, STARTING AT 1
|
||||||
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
; QUITS IF FIRST ENTRY IS NOT IENS 1
|
||||||
; ZBFDA IS PASSED BY REFERENCE
|
; ASSUMES THAT THE LAST IENS IS THE COUNT OF ENTRIES
|
||||||
;
|
; ZBFDA IS PASSED BY REFERENCE
|
||||||
; -- reserves a block of iens from file 172.101 by locking the zero node
|
;
|
||||||
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
; -- reserves a block of iens from file 172.101 by locking the zero node
|
||||||
; -- then unlocking to minimize the duration of the lock
|
; -- ^C0X(101,0) and adding the count of entries to piece 2 and 3
|
||||||
;
|
; -- then unlocking to minimize the duration of the lock
|
||||||
W !,"USING BULKLOAD"
|
;
|
||||||
I '$D(ZBFDA) Q ; EMPTY FDA
|
W !,"USING BULKLOAD"
|
||||||
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
I '$D(ZBFDA) Q ; EMPTY FDA
|
||||||
N ZCNT,ZP3,ZP4
|
I $O(ZBFDA(""))'=172.101 Q ; WRONG FILE
|
||||||
; -- find the number of nodes to insert
|
N ZCNT,ZP3,ZP4
|
||||||
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
; -- find the number of nodes to insert
|
||||||
I ZCNT="" D Q ;
|
S ZCNT=$O(ZBFDA(172.101,""),-1)
|
||||||
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
I ZCNT="" D Q ;
|
||||||
. B
|
. W !,"ERROR IN BULK LOAD - INVALID NODE COUNT"
|
||||||
; -- lock the zero node and reserve a block of iens to insert
|
. B
|
||||||
W !,"LOCKING ZERO NODE"
|
; -- lock the zero node and reserve a block of iens to insert
|
||||||
LOCK +^C0X(101,0)
|
W !,"LOCKING ZERO NODE"
|
||||||
S ZP3=$P(^C0X(101,0),U,3)
|
LOCK +^C0X(101,0)
|
||||||
S ZP4=$P(^C0X(101,0),U,4)
|
S ZP3=$P(^C0X(101,0),U,3)
|
||||||
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
S ZP4=$P(^C0X(101,0),U,4)
|
||||||
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
S $P(^C0X(101,0),U,3)=ZP3+ZCNT+1
|
||||||
LOCK -^C0X(101,0)
|
S $P(^C0X(101,0),U,4)=ZP4+ZCNT+1
|
||||||
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
LOCK -^C0X(101,0)
|
||||||
S ZBASE=ZP3 ; the last ien in the file
|
N ZI,ZN,ZG,ZS,ZP,ZO,ZIEN,ZBASE
|
||||||
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
S ZBASE=ZP3 ; the last ien in the file
|
||||||
W !,$ZDATE($$H,"YEAR-MM-DD:24:60:SS")
|
W !,"ZERO NODE UNLOCKED, IENS RESERVED=",ZCNT
|
||||||
S ZI=""
|
W !,$ZDATE($$H,"YEAR-MM-DD:24:60:SS")
|
||||||
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
S ZI=""
|
||||||
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
F S ZI=$O(ZBFDA(172.101,ZI)) Q:ZI="" D ;
|
||||||
. I ZN="" D BLKERR Q ;
|
. S ZN=$G(ZBFDA(172.101,ZI,.01)) ; node name
|
||||||
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
. I ZN="" D BLKERR Q ;
|
||||||
. I ZG="" D BLKERR Q ;
|
. S ZG=$G(ZBFDA(172.101,ZI,.02)) ; graph pointer
|
||||||
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
. I ZG="" D BLKERR Q ;
|
||||||
. I ZS="" D BLKERR Q ;
|
. S ZS=$G(ZBFDA(172.101,ZI,.03)) ; subject pointer
|
||||||
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
. I ZS="" D BLKERR Q ;
|
||||||
. I ZP="" D BLKERR Q ;
|
. S ZP=$G(ZBFDA(172.101,ZI,.04)) ; predicate pointer
|
||||||
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
. I ZP="" D BLKERR Q ;
|
||||||
. I ZO="" D BLKERR Q ;
|
. S ZO=$G(ZBFDA(172.101,ZI,.05)) ; object pointer
|
||||||
. S ZIEN=ZI+ZBASE ; the new ien
|
. I ZO="" D BLKERR Q ;
|
||||||
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
. S ZIEN=ZI+ZBASE ; the new ien
|
||||||
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
. S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
|
||||||
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
. S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
|
||||||
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
. S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
|
||||||
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
. S ^C0X(101,"SPO",ZS,ZP,ZO)=""
|
||||||
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
. S ^C0X(101,"SOP",ZS,ZO,ZP)=""
|
||||||
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
. S ^C0X(101,"OPS",ZO,ZP,ZS)=""
|
||||||
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
. S ^C0X(101,"OSP",ZO,ZS,ZP)=""
|
||||||
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
. S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
|
||||||
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
. S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
|
||||||
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
. S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
|
||||||
Q
|
. S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
|
||||||
;
|
Q
|
||||||
BLKERR ;
|
;
|
||||||
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
BLKERR ;
|
||||||
B
|
W !,"ERROR IN BULK LOAD",! ZWR ZBFDA(ZI)
|
||||||
Q
|
B
|
||||||
;
|
Q
|
||||||
H()
|
;
|
||||||
quit:$length($ztrnlnm("GTMXC_posix"))&$length($text(zhorolog^%POSIX)) $$zhorolog^%POSIX quit $horolog
|
H()
|
||||||
|
quit:$length($ztrnlnm("GTMXC_posix"))&$length($text(zhorolog^%POSIX)) $$zhorolog^%POSIX quit $horolog
|
||||||
|
|
164
p/C0XUTIL.m
164
p/C0XUTIL.m
|
@ -1,82 +1,82 @@
|
||||||
C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
|
C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
|
||||||
;;0.1;C0X;nopatch;noreleasedate;Build 7
|
;;1.0;FILEMAN TRIPLE STORE;;Sep 26, 2012;Build 10
|
||||||
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
||||||
;General Public License See attached copy of the License.
|
;General Public License See attached copy of the License.
|
||||||
;
|
;
|
||||||
;This program is free software; you can redistribute it and/or modify
|
;This program is free software; you can redistribute it and/or modify
|
||||||
;it under the terms of the GNU General Public License as published by
|
;it under the terms of the GNU General Public License as published by
|
||||||
;the Free Software Foundation; either version 2 of the License, or
|
;the Free Software Foundation; either version 2 of the License, or
|
||||||
;(at your option) any later version.
|
;(at your option) any later version.
|
||||||
;
|
;
|
||||||
;This program is distributed in the hope that it will be useful,
|
;This program is distributed in the hope that it will be useful,
|
||||||
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
;GNU General Public License for more details.
|
;GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
;You should have received a copy of the GNU General Public License along
|
;You should have received a copy of the GNU General Public License along
|
||||||
;with this program; if not, write to the Free Software Foundation, Inc.,
|
;with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
NSP(ZX) ; OUTPUT TRANSFORM EXTRINSIC
|
NSP(ZX) ; OUTPUT TRANSFORM EXTRINSIC
|
||||||
;
|
;
|
||||||
N ZR
|
N ZR
|
||||||
; I WOULD REALLY LIKE TO NOT HAVE THE FILE NUMBER HARD CODED HERE
|
; I WOULD REALLY LIKE TO NOT HAVE THE FILE NUMBER HARD CODED HERE
|
||||||
; ANYONE KNOW HOW I COULD DO THAT? :) GPL
|
; ANYONE KNOW HOW I COULD DO THAT? :) GPL
|
||||||
S ZR=$$GET1^DIQ(172.201,ZX_",",.01)
|
S ZR=$$GET1^DIQ(172.201,ZX_",",.01)
|
||||||
I '$D(C0XNSP) S C0XNSP=1 ; DEFAULT ON
|
I '$D(C0XNSP) S C0XNSP=1 ; DEFAULT ON
|
||||||
I C0XNSP=0 Q ZR ; SWITCHED OFF
|
I C0XNSP=0 Q ZR ; SWITCHED OFF
|
||||||
I '$D(C0XVOC) D VOCINIT ; INITIALIZE THE VOCABULARIES
|
I '$D(C0XVOC) D VOCINIT ; INITIALIZE THE VOCABULARIES
|
||||||
N ZI,ZJ,ZK S ZI=""
|
N ZI,ZJ,ZK S ZI=""
|
||||||
N DONE S DONE=0
|
N DONE S DONE=0
|
||||||
F S ZI=$O(C0XVOC(ZI)) Q:(DONE=1)!(ZI="") D ;
|
F S ZI=$O(C0XVOC(ZI)) Q:(DONE=1)!(ZI="") D ;
|
||||||
. ;W !,ZI
|
. ;W !,ZI
|
||||||
. S ZJ=C0XVOC(ZI)
|
. S ZJ=C0XVOC(ZI)
|
||||||
. S ZK=$P(ZR,ZJ,2)
|
. S ZK=$P(ZR,ZJ,2)
|
||||||
. ;W !,"ZK=",ZK
|
. ;W !,"ZK=",ZK
|
||||||
. I ZK'="" D ; BINGO
|
. I ZK'="" D ; BINGO
|
||||||
. . S ZR=ZI_":"_ZK
|
. . S ZR=ZI_":"_ZK
|
||||||
. . S DONE=1
|
. . S DONE=1
|
||||||
Q ZR
|
Q ZR
|
||||||
;
|
;
|
||||||
VOCINIT ; INITIALIZE VOCABULARIES
|
VOCINIT ; INITIALIZE VOCABULARIES
|
||||||
S C0XVOC("dcterms")="http://purl.org/dc/terms/"
|
S C0XVOC("dcterms")="http://purl.org/dc/terms/"
|
||||||
S C0XVOC("rdf")="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
S C0XVOC("rdf")="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
S C0XVOC("sp")="http://smartplatforms.org/terms#"
|
S C0XVOC("sp")="http://smartplatforms.org/terms#"
|
||||||
S C0XVOC("qds")="http://cms.gov/pqri/qds/"
|
S C0XVOC("qds")="http://cms.gov/pqri/qds/"
|
||||||
S C0XVOC("smart")="http://sandbox-api.smartplatforms.org/records/"
|
S C0XVOC("smart")="http://sandbox-api.smartplatforms.org/records/"
|
||||||
S C0XVOC("snomed")="http://purl.bioontology.org/ontology/SNOMEDCT/"
|
S C0XVOC("snomed")="http://purl.bioontology.org/ontology/SNOMEDCT/"
|
||||||
S C0XVOC("icd9")="http://purl.bioontology.org/ontology/ICD9/"
|
S C0XVOC("icd9")="http://purl.bioontology.org/ontology/ICD9/"
|
||||||
S C0XVOC("rxnorm")="http://purl.bioontology.org/ontology/RXNORM/"
|
S C0XVOC("rxnorm")="http://purl.bioontology.org/ontology/RXNORM/"
|
||||||
S C0XVOC("loinc")="http://purl.bioontology.org/ontology/LNC/"
|
S C0XVOC("loinc")="http://purl.bioontology.org/ontology/LNC/"
|
||||||
S C0XVOC("file")="/home/glilly/fmts/trunk/samples/"
|
S C0XVOC("file")="/home/glilly/fmts/trunk/samples/"
|
||||||
S C0XVOC("foaf")="http://xmlns.com/foaf/0.1/"
|
S C0XVOC("foaf")="http://xmlns.com/foaf/0.1/"
|
||||||
S C0XVOC("skos")="http://www.w3.org/2004/02/skos/core#"
|
S C0XVOC("skos")="http://www.w3.org/2004/02/skos/core#"
|
||||||
S C0XVOC("gpl")="http://georgetriples.org/"
|
S C0XVOC("gpl")="http://georgetriples.org/"
|
||||||
S C0XVOC("cg")="http://datasets.caregraf.org/"
|
S C0XVOC("cg")="http://datasets.caregraf.org/"
|
||||||
S C0XVOC("mv")="http://metavista.name/foundation#"
|
S C0XVOC("mv")="http://metavista.name/foundation#"
|
||||||
S C0XVOC("rdfs")="http://www.w3.org/2000/01/rdf-schema#"
|
S C0XVOC("rdfs")="http://www.w3.org/2000/01/rdf-schema#"
|
||||||
S C0XVOC("vistaSmart")="https://smart2.vistaewd.net/vista/smart/records/"
|
S C0XVOC("vistaSmart")="https://smart2.vistaewd.net/vista/smart/records/"
|
||||||
S C0XVOC("vmu")="http://vista.org/mu/"
|
S C0XVOC("vmu")="http://vista.org/mu/"
|
||||||
S C0XVOC("vq")="http://vista.org/quality/"
|
S C0XVOC("vq")="http://vista.org/quality/"
|
||||||
S C0XVOC("nodeID")="iDPsDPss"
|
S C0XVOC("nodeID")="iDPsDPss"
|
||||||
S C0XVOC("fmts")="http://glilly.net/fmts#"
|
S C0XVOC("fmts")="http://glilly.net/fmts#"
|
||||||
S C0XVOC("oro")="http://oro.com/vista/sage" ;change to get URL from system
|
S C0XVOC("oro")="http://oro.com/vista/sage" ;change to get URL from system
|
||||||
S C0XVOC("sage")="http://oro.com/sage/schema#"
|
S C0XVOC("sage")="http://oro.com/sage/schema#"
|
||||||
S C0XVOC("v")="http://www.w3.org/2006/vcard/ns#"
|
S C0XVOC("v")="http://www.w3.org/2006/vcard/ns#"
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
EXT(C0XIN) ; EXTRINSIC WHICH EXPANDS NAMESPACES
|
EXT(C0XIN) ; EXTRINSIC WHICH EXPANDS NAMESPACES
|
||||||
; SO skos:xxx would return http://www.w3.org/2004/02/skos/core#xxx
|
; SO skos:xxx would return http://www.w3.org/2004/02/skos/core#xxx
|
||||||
N C0XPRE
|
N C0XPRE
|
||||||
S C0XPRE=C0XIN
|
S C0XPRE=C0XIN
|
||||||
I '$D(C0XVOC) D VOCINIT ; INITIALIZE NAME SPACE TABLE
|
I '$D(C0XVOC) D VOCINIT ; INITIALIZE NAME SPACE TABLE
|
||||||
I C0XPRE[":" D ; expand using vocabulary
|
I C0XPRE[":" D ; expand using vocabulary
|
||||||
. N ZB,ZA
|
. N ZB,ZA
|
||||||
. S ZB=$P(C0XPRE,":",1)
|
. S ZB=$P(C0XPRE,":",1)
|
||||||
. S ZA=$P(C0XPRE,":",2)
|
. S ZA=$P(C0XPRE,":",2)
|
||||||
. I $G(C0XVOC(ZB))'="" D ;
|
. I $G(C0XVOC(ZB))'="" D ;
|
||||||
. . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
|
. . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
|
||||||
Q C0XPRE
|
Q C0XPRE
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue