source: fmts/trunk/p/C0XUTIL.m@ 1373

Last change on this file since 1373 was 1365, checked in by George Lilly, 13 years ago

updates for VistAOWL and Lex

File size: 2.8 KB
Line 
1C0XUTIL ; GPL - Fileman Triples utilities ;11/07/11 17:05
2 ;;0.1;C0X;nopatch;noreleasedate;Build 7
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 ;
22NSP(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 ;
43VOCINIT ; 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/"
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/"
57 S C0XVOC("mv")="http://metavista.name/foundation#"
58 S C0XVOC("rdfs")="http://www.w3.org/2000/01/rdf-schema#"
59 S C0XVOC("vista")="http://osehra.org/"
60 S C0XVOC("vmu")="http://vista.org/mu/"
61 S C0XVOC("vq")="http://vista.org/quality/"
62 Q
63 ;
64EXT(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 ;
Note: See TracBrowser for help on using the repository browser.