view service/reasoning/index.html @ 132:d379351d398d

serve 3rdparty js from bigasterisk.com/lib Ignore-this: 1e7e83f05dd28cfe2b32fccf34f5d4db
author drewp@bigasterisk.com
date Fri, 11 Oct 2013 23:05:32 -0700
parents 0448fbd96a31
children 47682350e6f2
line wrap: on
line source

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>reasoning</title>
    <style type="text/css" media="all">
      /* <![CDATA[ */
body {
    font-family: sans-serif;
    font-size: 12px;

}
pre {
    font-family: sans-serif;
} 
pre div {
    border-bottom: 1px solid #ccc;
}
.pred {
    background: #e7e6f8;
}
.obj {
    background: #ccf
}
/* ]]> */
    </style>

  </head>
  <body>

    <h2>Input</h2>
    <pre id="input"/>

    <h2>Rules</h2>
    <pre id="rules"/>

    <h2>Output</h2>
    <pre id="output"/>

    <input id="auto" type="checkbox"/> <label for="auto">auto refresh</label>

    <script src="//bigasterisk.com/lib/jquery-2.0.3.min.js"></script>
 <script type="text/javascript">
      // <![CDATA[
      $(function () { 
	  function abbrev(term) { // does rdfquery do this?
	      var repl = [
		  ["http://projects.bigasterisk.com/room/", "room:"],
		  ["http://projects.bigasterisk.com/device/", "dev:"],
		  ["http://purl.org/dc/terms/", "dcterms:"],
		  ["http://www.w3.org/2000/01/rdf-schema#", "rdfs:"],
		  ["http://bigasterisk.com/map#", "map:"],
		  ["http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf:"]]; 
	      for (i in repl) {
		  var p=repl[i];
		  if (term.match(new RegExp("^" + p[0]))) {
		      return term.replace(p[0], p[1]);
		  }
	      }
	      return term;
	  }

	  function update() {
	      function makeAddStmts(elem) {
		  return function (stmts) {
		      elem.empty();
		      $.each(stmts, function (i, s) {
			  elem.append($("<div>").html(
			      "<span>"+abbrev(s[0])+"</span> "+
				  "<span class=\"pred\">"+abbrev(s[1])+"</span> "+
				  "<span class=\"obj\">"+abbrev(s[2])+"</span>"));

		      })
		  }
	      }

	      $.get("lastInputGraph", makeAddStmts($("#input")));
	      $.get("lastOutputGraph", makeAddStmts($("#output")));
	      $.get("rules", function (txt) { 
		  $("#rules").empty().text(txt);
	      });
	  }
	  function loop() {
	      update();
	      if ($("input#auto").is(":checked")) {
		  setTimeout(loop, 2000);
	      }
	  }
	  loop();
	  $("input#auto").click(loop);
      });
      // ]]>
</script>
  </body>
</html>