Index: /fmts/trunk/p/C0XF2N.m
===================================================================
--- /fmts/trunk/p/C0XF2N.m	(revision 1380)
+++ /fmts/trunk/p/C0XF2N.m	(revision 1381)
@@ -142,10 +142,11 @@
  S BATMAX=10000 ; TRY BATCHES OF THIS SIZE
  N ZGRAPH,ZSUBJECT
- S ZGRAPH="_:G"_$$LKY9 ; RANDOM GRAPH NAME
+ S ZGRAPH="_:G"_$$LKY5 ; RANDOM GRAPH NAME
  S ZSUBJECT=$$ANONS() ; RANDOM ANOYMOUS SUBJECT
  D ADD(ZGRAPH,ZSUBJECT,"fmts:url",ZNAME,FARY)
  N ZTXTNM
- S ZTXTNM="_TXT_INCOMING_RDF_FILE_"_ZNAME_"_"_$$LKY9 ; NAME FOR TEXT NODE
+ S ZTXTNM="_TXT_INCOMING_RDF_FILE_"_ZNAME_"_"_$$LKY5 ; NAME FOR TEXT NODE
  D ADD(ZGRAPH,ZSUBJECT,"fmts:rdfSource",ZTXTNM,FARY)
+ D ADD(ZGRAPH,ZSUBJECT,"fmts:tag",$$name2tag(ZNAME),FARY)
  D SWUPDIE(.C0XFDA) ; TRY IT OUT
  K C0XCNT ;RESET FOR NEXT TIME
@@ -154,4 +155,8 @@
  D PROCESS(.G,ZRDF,ZNAME,ZGRAPH,FARY) ; PARSE AND INSERT THE RDF
  Q
+ ;
+name2tag(zname) ; extrinsic which returns a tag derived from a name
+ ; /home/vista/project.xml ==> project
+ q $p($re($p($re(zname),"/")),".")
  ;
 STORETXT(ZTXT,ZNAME,FARY) ; STORE TEXT IN THE TRIPLESTORE AT ZNAME
@@ -253,5 +258,5 @@
  ; -- populate the metagraph to point to the graph with status unfinished
  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"_$$LKY5 ; RANDOM GRAPH NAME FOR METAGRAPH
  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
@@ -371,10 +376,10 @@
  ;
 ANONS() ; RETURNS AN ANONOMOUS SUBJECT
- Q "iDPsDPss"_$$LKY9
+ Q "iDPsDPss"_$$LKY5
  ;
 NEWG(NGRAPH,NMETA) ; CREATES A NEW META GRAPH, MARKS IT AS UNFINISHED
  ; THEN CREATES A NEW GRAPH AND POINTS THE METAGRAPH TO IT
  ; NGRAPH AND NMETA ARE PASSED BY REFERENCE AND ARE THE RETURN
- S NGRAPH="G"_$$LKY9
+ S NGRAPH="G"_$$LKY5
  S NMETA=NGRAPH_"A"
  Q
@@ -426,4 +431,12 @@
  Q
  ;
+LKY5() ;EXTRINIC THAT RETURNS A RANDOM 5 DIGIT NUMBER. USED FOR GENERATING
+ ; UNIQUE NODE AND GRAPH NAMES
+ N ZN,ZI
+ S ZN=""
+ F ZI=1:1:5 D  ;
+ . S ZN=ZN_$R(10)
+ Q ZN
+ ;
 LKY9() ;EXTRINIC THAT RETURNS A RANDOM 9 DIGIT NUMBER. USED FOR GENERATING
  ; UNIQUE NODE AND GRAPH NAMES
Index: /fmts/trunk/p/C0XGET1.m
===================================================================
--- /fmts/trunk/p/C0XGET1.m	(revision 1380)
+++ /fmts/trunk/p/C0XGET1.m	(revision 1381)
@@ -141,4 +141,14 @@
  q
  ;
+subject(pred,obj,graph,form,fary) ; extrinsic which returns the first
+ ; multiple of return from subjects - returns null if more than one
+ ; subjects(.G,sub,pred)
+ ; G("nodeID:1234") ==> "nodeID:1234"
+ n zin,zrtn
+ d subjects(.zin,$g(pred),$g(obj),$g(form),$g(fary))
+ s zrtn=$o(zin(""))
+ i $o(zin(zrtn))'="" s zrtn=""
+ q zrtn
+ ;
 preds(listrtn,sub,obj,graph,form,fary) ; return list of subjects
  d onelist("P",$g(sub),,$g(obj),$g(fary)) ;subjects
@@ -148,4 +158,14 @@
  d onelist("O",$g(sub),$g(pred),"",$g(fary)) ;subjects
  q
+ ;
+object(sub,pred,graph,form,fary) ; extrinsic which returns the first
+ ; multiple of return from objects - returns null if more than one
+ ; objects(.G,sub,pred)
+ ; G("location") ==> "location"
+ n zin,zrtn
+ d objects(.zin,$g(sub),$g(pred),$g(form),$g(fary))
+ s zrtn=$o(zin(""))
+ i $o(zin(zrtn))'="" s zrtn=""
+ q zrtn
  ;
 onelist(zw,sub,pred,obj,fary) ; returns list
