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

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

added retrival of triples

File size: 2.5 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 Q
58 ;
59EXT(C0XIN) ; EXTRINSIC WHICH EXPANDS NAMESPACES
60 ; SO skos:xxx would return http://www.w3.org/2004/02/skos/core#xxx
61 N C0XPRE
62 S C0XPRE=C0XIN
63 I '$D(C0XVOC) D VOCINIT ; INITIALIZE NAME SPACE TABLE
64 I C0XPRE[":" D ; expand using vocabulary
65 . N ZB,ZA
66 . S ZB=$P(C0XPRE,":",1)
67 . S ZA=$P(C0XPRE,":",2)
68 . I $G(C0XVOC(ZB))'="" D ;
69 . . S C0XPRE=C0XVOC(ZB)_ZA ; expanded
70 Q C0XPRE
71 ;
Note: See TracBrowser for help on using the repository browser.