/// loads all facts and rules acquired from the RDF URI in that proof engine
/// of the RDF resource
public virtual void Load(String uri) {
lock(this) {
if (loaded == null) loaded = new Hashtable();
if (loaded[uri] != null) return;
String rk = fromWeb(uri);
String u = baseURI;
if (!uri.StartsWith("data:")) loaded[baseURI] = this;
ArrayList vt = new ArrayList();
Parser np = new Parser(rk, vt, this, u);
if (ns == null) {
ns = new Hashtable();
nsp = new Hashtable();
syn = new Hashtable();
mto = new Hashtable();
otm = new Hashtable();
dds = new Hashtable();
ns["log:"] = LOG + "#>";
}
StringBuilder gen = new StringBuilder("data:,");
if (debug || trace) Console.Error.WriteLine("(" + engine + ") load " + uri);
while (true) {
far.near = np.Parse();
if (far.near == null) break;
while (far.near != null) {
// check the register classes
// FIRSTPASS
else {
// @@ rule generation
Euler s = far.near.subj;
String p = far.near.verb;
Euler o = far.near.obj;
// SECOND PASS!
if (debug || trace) Console.Error.WriteLine("@@ assert " + far.near);
far = far.near;
}
}
syno(this);
String gener = gen.ToString();
if (!gener.Equals("data:,")) this.Load(gener);
if (vt.Count > varmax) varmax = vt.Count;
doc++;
}
}