Changeset 1349 for fmts/trunk/p/C0XF2N.m


Ignore:
Timestamp:
Jan 27, 2012, 10:51:57 PM (12 years ago)
Author:
George Lilly
Message:

added retrival of triples

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fmts/trunk/p/C0XF2N.m

    r1343 r1349  
    416416 . S FARY="C0XFARY"
    417417 N ZIEN
     418 I $G(ZSTRING)="" Q "" ; NO STRING
    418419 S ZIEN=$O(@C0XSN@("B",ZSTRING,""))
    419420 I ZIEN="" D  ;
     
    501502 . S ZIEN=ZI+ZBASE ; the new ien
    502503 . S ^C0X(101,ZIEN,0)=ZN_U_ZG_U_ZS_U_ZP_U_ZO ; set the zero node
    503  . S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
    504  . S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
    505  . S ^C0X(101,"SPO",ZS,ZP,ZO)=""
    506  . S ^C0X(101,"SOP",ZS,ZO,ZP)=""
    507  . S ^C0X(101,"OPS",ZO,ZP,ZS)=""
    508  . S ^C0X(101,"OSP",ZO,ZS,ZP)=""
    509  . S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS)=""
    510  . S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP)=""
    511  . S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO)=""
    512  . S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO)=""
     504 . D INDEX(ZIEN,ZN,ZG,ZS,ZP,ZO)
     505 Q
     506 ;
     507INDEX(ZIEN,ZN,ZG,ZS,ZP,ZO) ; HARD SET THE INDEX FOR ONE ENTRY
     508 S ^C0X(101,"B",ZN,ZIEN)="" ; the B index
     509 S ^C0X(101,"G",ZG,ZIEN)="" ; the G for Graph index
     510 S ^C0X(101,"SPO",ZS,ZP,ZO,ZIEN)=""
     511 S ^C0X(101,"SOP",ZS,ZO,ZP,ZIEN)=""
     512 S ^C0X(101,"OPS",ZO,ZP,ZS,ZIEN)=""
     513 S ^C0X(101,"OSP",ZO,ZS,ZP,ZIEN)=""
     514 S ^C0X(101,"PSO",ZP,ZS,ZO,ZIEN)=""
     515 S ^C0X(101,"POS",ZP,ZO,ZS,ZIEN)=""
     516 S ^C0X(101,"GOPS",ZG,ZO,ZP,ZS,ZIEN)=""
     517 S ^C0X(101,"GOSP",ZG,ZO,ZS,ZP,ZIEN)=""
     518 S ^C0X(101,"GPSO",ZG,ZP,ZS,ZO,ZIEN)=""
     519 S ^C0X(101,"GPOS",ZG,ZP,ZO,ZS,ZIEN)=""
     520 S ^C0X(101,"GSPO",ZG,ZS,ZP,ZO,ZIEN)=""
     521 S ^C0X(101,"GSOP",ZG,ZS,ZO,ZP,ZIEN)=""
     522 Q
     523 ;
     524REINDEX ; REINDEX THE ^C0X(101, TRIPLE STORE
     525 K ^C0X(101,"B")
     526 K ^C0X(101,"G")
     527 K ^C0X(101,"SPO")
     528 K ^C0X(101,"SOP")
     529 K ^C0X(101,"OPS")
     530 K ^C0X(101,"OSP")
     531 K ^C0X(101,"PSO")
     532 K ^C0X(101,"POS")
     533 K ^C0X(101,"GOPS")
     534 K ^C0X(101,"GOSP")
     535 K ^C0X(101,"GPSO")
     536 K ^C0X(101,"GPOS")
     537 K ^C0X(101,"GSPO")
     538 K ^C0X(101,"GSOP")
     539 N ZIEN,ZZ
     540 S ZIEN=0
     541 F  S ZIEN=$O(^C0X(101,ZIEN)) Q:+ZIEN=0  D  ; FOR EACH NODE
     542 . S ZZ=$G(^C0X(101,ZIEN,0))
     543 . I ZZ="" D  Q  ;
     544 . . W !,"ERROR REINDEXING NODE ",ZI
     545 . S ZN=$P(ZZ,"^",1)
     546 . S ZG=$P(ZZ,"^",2)
     547 . S ZS=$P(ZZ,"^",3)
     548 . S ZP=$P(ZZ,"^",4)
     549 . S ZO=$P(ZZ,"^",5)
     550 . D INDEX(ZIEN,ZN,ZG,ZS,ZP,ZO)
    513551 Q
    514552 ;
Note: See TracChangeset for help on using the changeset viewer.