view service/reasoning/index.html @ 1000:df5a40967a2f

polymer updates Ignore-this: f4f88b324b54abf90af6dc5360910041 darcs-hash:20150830185325-312f9-8f07ba7ccc6ecd6528159fa5fd09a166d3ce1650
author drewp <drewp@bigasterisk.com>
date Sun, 30 Aug 2015 11:53:25 -0700
parents 7e99f05c21cd
children 273709eaaefd
line wrap: on
line source

<!DOCTYPE html>
<html>
  <head>
    <title>reasoning</title>
    <link rel="import" href="https://bigasterisk.com/lib/polymer/0.5.2/core-splitter/core-splitter.html">
    <link rel="import" href="https://bigasterisk.com/supdebug/bang/service-rows/main.html">
    <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
}
     .pane {
position: relative;
       display: flex;
flex-direction: column;
       }
     .pane pre {
       overflow: auto;
       flex-grow: 1;
       }
/* ]]> */
    </style>

  </head>
  <body layout vertical fit>

    <div style="flex: 0 0 auto">
      <service-rows nameSubstrs="reasoning map"></service-rows>
    </div>
    
    <div class="pane">
      <h2>Input</h2>
      <pre id="input"/>
    </div>

    <core-splitter direction="up"></core-splitter> 

    <div  class="pane">
      <h2>Rules</h2>
      <pre id="rules"/>
    </div>

    <core-splitter direction="up"></core-splitter>

    <div  class="pane">
      <h2>Output</h2>
      <pre id="output"/>
    </div>

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

    <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>