I written some more routines for accessing the triple store
first, all the predicates in the system: (works similar to objects and subjects)
GTM>D preds^C0XGET1(.G1)
s: p: o:
I000 P ^C0X(101) POS d zip(.tmprtn,zt,zi)
GTM>ZWR G1
G1("fmts:about")=""
G1("fmts:dateTime")=""
G1("fmts:rdfSource")=""
G1("fmts:status")=""
G1("fmts:url")=""
G1("mv:calls")=""
G1("mv:contains")=""
G1("mv:entryPoint")=""
G1("mv:has_input_parameter")=""
G1("mv:has_output_parameter")=""
G1("mv:reads_global")=""
G1("mv:uses_file")=""
G1("rdf:type")=""
G1("rdfs:comment")=""
G1("rdfs:domain")=""
G1("rdfs:label")=""
G1("rdfs:range")=""
G1("skos:altLabel")=""
G1("skos:broader")=""
G1("skos:description")=""
G1("skos:prefLabel")=""
G1("skos:relatedMatch")=""
Next, all the predicates related to a specific subject:
GTM>d preds^C0XGET1(.G3,"vista:Routine/GMPL")
s:6075 p: o:
I100 P ^C0X(101) SPO d zip1(.tmprtn,zt,zi,zsub)
GTM>zwr G3
G3("mv:calls")=""
G3("mv:entryPoint")=""
G3("mv:has_input_parameter")=""
G3("mv:has_output_parameter")=""
G3("mv:reads_global")=""
G3("mv:uses_file")=""
G3("rdf:type")=""
G3("rdfs:label")=""
If there is a single result, there are extrinsics $$object and $$subject
GTM>s G4=$$object^C0XGET1("vista:Routine/GMPL","rdfs:label")
s:6075 p:21 o:
I110 O ^C0X(101) SPO d zip2(.tmprtn,zt,zi,zsub,zpred)
GTM>W G4
GMPL
All the objects for a given subject - predicate pair (in array form.. also available in json and rdf)
GTM>d objects^C0XGET1(.G3,"vista:Routine/GMPL","mv:reads_global",,,"array")
s:6075 p:26 o:
I110 O ^C0X(101) SPO d zip2(.tmprtn,zt,zi,zsub,zpred)
GTM>zwr G3
G3("vista:Global/.AUPNPROB")=""
G3("vista:Global/.GMPL")=""
G3("vista:Global/.TMP")=""
G3("vista:Global/.VA")=""
I can't show getGraph using this store because all the graphs are too big... but it works..
gpl