Skip to content

Instantly share code, notes, and snippets.

@lindenb
Created August 1, 2011 20:31
Show Gist options
  • Save lindenb/1118919 to your computer and use it in GitHub Desktop.
Save lindenb/1118919 to your computer and use it in GitHub Desktop.
freebase + bioportal
<html>
<head>
<link type="text/css" rel="stylesheet" href="http://freebaselibs.com/static/suggest/1.3/suggest.min.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://freebaselibs.com/static/suggest/1.3/suggest.min.js"></script>
<script type="text/javascript" src="http://bioportal.bioontology.org/javascripts/widgets/form_complete.js"></script>
<script type="text/javascript">
var freebase_topics= {
type:[ '/biology/protein','/biology/gene','/medicine/disease']
};
function update_json_field()
{
var o={subject:null,predicate:null,value:null,pmid:null};
var p=document.getElementById("prot1").value;
if(p.indexOf("http://")==0) o["subject"]=p;
p=document.getElementById("prot2").value;
if(p.indexOf("http://")==0) o["value"]=p;
p=document.getElementById("predicate").value;
if(p.indexOf("http://")==0) o["predicate"]=p;
p=document.getElementById("pmid").value;
if(p.length!=0 && p.match(/[1-9][0-9]*/)) o["pmid"]= parseInt(p);
var root=document.getElementById("json");
root.value=JSON.stringify(o);
}
$(function() {
$("#prot1").suggest(freebase_topics).bind("fb-select",function(e, data)
{
var root=document.getElementById("prot1");
root.value="http://www.freebase.com/view"+data.id;
update_json_field();
});
});
$(function() {
$("#prot2").suggest(freebase_topics).bind("fb-select",function(e, data)
{
var root=document.getElementById("prot2");
root.value="http://www.freebase.com/view"+data.id;
update_json_field();
});
});
</script>
</head>
<body>
<fieldset class="search">
<legend>Create a new Fact</legend>
<table>
<tr>
<th><label for="prot1">Protein 1:</label></th>
<td><input type="text" placeholder="Protein 1..." id="prot1" size="50"/></td>
</tr>
<tr>
<th><label for="predicate">Predicate:</label></th>
<td><input type="text" placeholder="Predicate..." id="predicate" class="bp_form_complete-1040-uri" size="50"/></td>
</tr>
<tr>
<th><label for="prot2">Protein 2:</label></th>
<td><input type="text" placeholder="Protein 2..." id="prot2" size="50" onchange="update_json_field();"/></td>
</tr>
<tr>
<th><label for="pmid">PMID:</label></th>
<td><input type="number" min="1" placeholder="PMID..." id="pmid" size="50" onchange="update_json_field();"/></td>
</tr>
<tr>
<th><label for="json">JSON</label></th>
<td><textarea type="text" cols="50" rows="5" readonly="true" placeholder="{}" id="json" size="50"></textarea></td>
</tr>
</table>
</fieldset>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment