[1322] | 1 | C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
|
---|
[1343] | 2 | ;;0.1;C0X;nopatch;noreleasedate;Build 7
|
---|
[1322] | 3 | ;Copyright 2011 George Lilly. Licensed under the terms of the GNU
|
---|
| 4 | ;General Public License See attached copy of the License.
|
---|
| 5 | ;
|
---|
| 6 | ;This program is free software; you can redistribute it and/or modify
|
---|
| 7 | ;it under the terms of the GNU General Public License as published by
|
---|
| 8 | ;the Free Software Foundation; either version 2 of the License, or
|
---|
| 9 | ;(at your option) any later version.
|
---|
| 10 | ;
|
---|
| 11 | ;This program is distributed in the hope that it will be useful,
|
---|
| 12 | ;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 13 | ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
| 14 | ;GNU General Public License for more details.
|
---|
| 15 | ;
|
---|
| 16 | ;You should have received a copy of the GNU General Public License along
|
---|
| 17 | ;with this program; if not, write to the Free Software Foundation, Inc.,
|
---|
| 18 | ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
---|
| 19 | ;
|
---|
| 20 | Q
|
---|
| 21 | ;
|
---|
| 22 | NSP(ZX) ; OUTPUT TRANSFORM EXTRINSIC
|
---|
| 23 | ;
|
---|
| 24 | N ZR
|
---|
| 25 | ; I WOULD REALLY LIKE TO NOT HAVE THE FILE NUMBER HARD CODED HERE
|
---|
| 26 | ; ANYONE KNOW HOW I COULD DO THAT? :) GPL
|
---|
| 27 | S ZR=$$GET1^DIQ(172.201,ZX_",",.01)
|
---|
| 28 | I '$D(C0XNSP) S C0XNSP=1 ; DEFAULT ON
|
---|
| 29 | I C0XNSP=0 Q ZR ; SWITCHED OFF
|
---|
| 30 | I '$D(C0XVOC) D VOCINIT ; INITIALIZE THE VOCABULARIES
|
---|
| 31 | N ZI,ZJ,ZK S ZI=""
|
---|
| 32 | N DONE S DONE=0
|
---|
| 33 | F S ZI=$O(C0XVOC(ZI)) Q:(DONE=1)!(ZI="") D ;
|
---|
| 34 | . ;W !,ZI
|
---|
| 35 | . S ZJ=C0XVOC(ZI)
|
---|
| 36 | . S ZK=$P(ZR,ZJ,2)
|
---|
| 37 | . ;W !,"ZK=",ZK
|
---|
| 38 | . I ZK'="" D ; BINGO
|
---|
| 39 | . . S ZR=ZI_":"_ZK
|
---|
| 40 | . . S DONE=1
|
---|
| 41 | Q ZR
|
---|
| 42 | ;
|
---|
| 43 | VOCINIT ; INITIALIZE VOCABULARIES
|
---|
| 44 | S C0XVOC("dcterms")="http://purl.org/dc/terms/"
|
---|
| 45 | S C0XVOC("rdf")="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
---|
| 46 | S C0XVOC("sp")="http://smartplatforms.org/terms#"
|
---|
| 47 | S C0XVOC("qds")="http://cms.gov/pqri/qds/"
|
---|
| 48 | S C0XVOC("smart")="http://sandbox-api.smartplatforms.org/records/"
|
---|
| 49 | S C0XVOC("snomed")="http://www.ihtsdo.org/snomed-ct/concepts/"
|
---|
| 50 | S C0XVOC("rxnorm")="http://rxnav.nlm.nih.gov/REST/rxcui/"
|
---|
| 51 | S C0XVOC("loinc")="http://loinc.org/codes/"
|
---|
| 52 | S C0XVOC("file")="/home/glilly/fmts/trunk/samples/"
|
---|
| 53 | S C0XVOC("foaf")="http://xmlns.com/foaf/0.1/"
|
---|
[1349] | 54 | S C0XVOC("skos")="http://www.w3.org/2004/02/skos/core#"
|
---|
| 55 | S C0XVOC("gpl")="http://georgetriples.org/"
|
---|
| 56 | S C0XVOC("cg")="http://datasets.caregraf.org/"
|
---|
[1359] | 57 | S C0XVOC("mv")="http://metavista.name/foundation#"
|
---|
| 58 | S C0XVOC("rdfs")="http://www.w3.org/2000/01/rdf-schema#"
|
---|
[1365] | 59 | S C0XVOC("vista")="http://osehra.org/"
|
---|
[1363] | 60 | S C0XVOC("vmu")="http://vista.org/mu/"
|
---|
| 61 | S C0XVOC("vq")="http://vista.org/quality/"
|
---|
[1322] | 62 | Q
|
---|
[1343] | 63 | ;
|
---|
[1349] | 64 | EXT(C0XIN) ; EXTRINSIC WHICH EXPANDS NAMESPACES
|
---|
| 65 | ; SO skos:xxx would return http://www.w3.org/2004/02/skos/core#xxx
|
---|
| 66 | N C0XPRE
|
---|
| 67 | S C0XPRE=C0XIN
|
---|
| 68 | I '$D(C0XVOC) D VOCINIT ; INITIALIZE NAME SPACE TABLE
|
---|
| 69 | I C0XPRE[":" D ; expand using vocabulary
|
---|
| 70 | . N ZB,ZA
|
---|
| 71 | . S ZB=$P(C0XPRE,":",1)
|
---|
| 72 | . S ZA=$P(C0XPRE,":",2)
|
---|
| 73 | . I $G(C0XVOC(ZB))'="" D ;
|
---|
| 74 | . . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
|
---|
| 75 | Q C0XPRE
|
---|
| 76 | ;
|
---|