You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
186 lines
9.6 KiB
186 lines
9.6 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>YaCy '#[clientname]#': Federated Index</title>
|
|
#%env/templates/metas.template%#
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
function xmlhttpPost() {
|
|
var searchform = document.getElementById('searchform');
|
|
search(searchform.discoverobjectspace.value);
|
|
}
|
|
|
|
function search(query) {
|
|
var xmlHttpReq = false;
|
|
var self = this;
|
|
if (window.XMLHttpRequest) { // Mozilla/Safari
|
|
self.xmlHttpReq = new XMLHttpRequest();
|
|
}
|
|
else if (window.ActiveXObject) { // IE
|
|
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
self.xmlHttpReq.open('GET', "yacysearch.json?verify=false&resource=local&maximumRecords=100&nav=none&query=" + query + "+inurl:" + query, true);
|
|
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
self.xmlHttpReq.onreadystatechange = function() {
|
|
if (self.xmlHttpReq.readyState == 4) {
|
|
updatepage(self.xmlHttpReq.responseText);
|
|
}
|
|
}
|
|
self.xmlHttpReq.send(null);
|
|
}
|
|
|
|
function updatepage(str) {
|
|
var raw = document.getElementById("raw");
|
|
if (raw != null) raw.innerHTML = str;
|
|
var rsp = eval("("+str+")");
|
|
var firstChannel = rsp.channels[0];
|
|
var totalResults = firstChannel.totalResults.replace(/[,.]/,"");
|
|
var startIndex = firstChannel.startIndex;
|
|
var itemsPerPage = firstChannel.itemsPerPage;
|
|
var navigation = firstChannel.navigation;
|
|
|
|
var html = "";
|
|
|
|
if (totalResults > 0 && firstChannel.items.length > 0) {
|
|
var item;
|
|
html += "<table class=\"networkTable\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"99%\">";
|
|
html += "<tr class=\"TableHeader\" valign=\"bottom\">";
|
|
html += "<td>URL from index (total results = " + totalResults + ")<\/td>";
|
|
for (var i = 0; i < firstChannel.items.length; i++) {
|
|
item = firstChannel.items[i];
|
|
html += "<tr class=\"TableCellLight\"><td align=\"left\" onclick=\"document.getElementById('searchform').value='" + item.link + "';\">" + item.link + "<\/td>";
|
|
}
|
|
html += "<\/table>";
|
|
}
|
|
document.getElementById("searchresults").innerHTML = html;
|
|
}
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="Vocabulary_p">
|
|
|
|
#(edit)#::
|
|
<div id="api">
|
|
<a href="Vocabulary_p.xml" id="apilink"><img src="/env/grafics/api.png" width="60" height="40" alt="API"/></a>
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
document.getElementById('apilink').setAttribute('href', 'Vocabulary_p.xml?' + window.location.search.substring(1));
|
|
//]]>
|
|
</script>
|
|
<span>The information that is presented on this page can also be retrieved as XML
|
|
Click the API icon to see the RDF Ontology definition for this vocabulary.
|
|
To see a list of all APIs, please visit the <a href="http://www.yacy-websuche.de/wiki/index.php/Dev:API">API wiki page</a>.</span>
|
|
</div>
|
|
#(/edit)#
|
|
|
|
#%env/templates/header.template%#
|
|
#%env/templates/submenuSemantic.template%#
|
|
<h2>Vocabulary Administration</h2>
|
|
<p>
|
|
Vocabularies can be used to produce a search navigation. A vocabulary must be created before content is indexed.
|
|
The vocabulary is used to annotate the indexed content with a reference to the object that is denoted by the term of the vocabulary.
|
|
The object can be denoted by a url stub that, combined with the term, becomes the url for the object.
|
|
</p>
|
|
|
|
<form action="Vocabulary_p.html" method="get" accept-charset="UTF-8">
|
|
<fieldset><legend>Vocabulary Selection</legend>
|
|
<dl>
|
|
<dt>Vocabulary Name</dt>
|
|
<dd>
|
|
<select name="vocabulary" onchange="this.form.submit()">
|
|
#{vocabularyset}#
|
|
<option value="#[name]#" #(selected)#::selected="selected"#(/selected)#>#[name]#</option>
|
|
#{/vocabularyset}#
|
|
</select>
|
|
</dd>
|
|
<dt></dt><dd><input type="submit" name="view" value="View" /></dd>
|
|
</dl>
|
|
</fieldset>
|
|
</form>
|
|
|
|
#(create)#::
|
|
<!--<form action="Vocabulary_p.html" id="searchform" method="get" accept-charset="UTF-8" onkeyup="xmlhttpPost(); return false;">-->
|
|
<form action="Vocabulary_p.html" id="searchform" method="get" accept-charset="UTF-8" >
|
|
<fieldset><legend>Vocabulary Production</legend>
|
|
It is possible to produce a vocabulary out of the existing search index. This is done using a given 'objectspace' which you can enter as a URL Stub.
|
|
This stub is used to find all matching URLs. If the remaining path from the matching URLs then denotes a single file, the file name is used as vocabulary term.
|
|
This works best with wikis. Try to use a wiki url as objectspace path.
|
|
<dl>
|
|
<dt>Vocabulary Name</dt><dd><input type="text" name="discovername" value="" size="16" maxlength="128" /></dd>
|
|
<dt>Objectspace</dt><dd><input type="text" name="discoverobjectspace" value="http://" size="78" maxlength="128" />
|
|
<div id="searchresults"></div></dd>
|
|
<dt>Discover Terms:</dt>
|
|
<dd>
|
|
<input type="radio" name="discovermethod" value="none" checked="checked" />no auto-discovery (empty vocabulary)
|
|
<input type="radio" name="discovermethod" value="path" />from file name
|
|
<input type="radio" name="discovermethod" value="title" />from page title
|
|
<input type="radio" name="discovermethod" value="titlesplitted" />from page title (splitted)
|
|
<input type="radio" name="discovermethod" value="author" />from page author</dd>
|
|
<dt></dt><dd><input type="submit" name="create" value="Create" /></dd>
|
|
</dl>
|
|
</fieldset>
|
|
</form>
|
|
#(/create)#
|
|
|
|
#(edit)#::
|
|
<form action="Vocabulary_p.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
|
|
<fieldset><legend>Vocabulary Editor</legend>
|
|
<dl>
|
|
<dt>Vocabulary Name</dt><dd>#[name]#</dd>
|
|
<dt>File</dt><dd>#(editable)#[automatically generated, not stored, cannot be edited]::#[file]##(/editable)#</dd>
|
|
<dt>Size</dt><dd>#[size]#</dd>
|
|
<dt>Namespace</dt><dd>#[namespace]#</dd>
|
|
<dt>Predicate</dt><dd>#[predicate]#</dd>
|
|
<dt>Prefix</dt><dd>#[prefix]#</dd>
|
|
<dt>Objectspace</dt><dd>#(editable)##[objectspace]#::<input type="text" name="objectspace" value="#[objectspace]#" size="78" maxlength="128" /><br/>if set, uses the predicate <a href="#[objectspacepredicate]#">#[objectspacepredicate]#</a> for generated objects. Hint: use 'http://dbpedia.org/resource/' as default.#(/editable)#</dd>
|
|
</dl>
|
|
<p>This produces the following triples in the <a href="/interaction/GetRDF.xml?global=">triplestore</a> if a term or synonym matches in a document:</p>
|
|
<dl>
|
|
<dt>Triple #1</dt><dd>#[triple1]#</dd>
|
|
<dt>Triple #2</dt><dd>#[triple2]#</dd>
|
|
<dt>more Triples for linking into objectspace</dt><dd>#[tripleN]#</dd>
|
|
</dl>
|
|
<table class="sortable" border="0" cellpadding="2" cellspacing="1">
|
|
<tr class="TableHeader" valign="bottom">
|
|
<td>Modify</td>
|
|
<td>Delete</td>
|
|
<td>Literal</td>
|
|
<td>Synonyms</td>
|
|
<td>Object Link</td>
|
|
</tr>
|
|
#{terms}#
|
|
<tr class="TableCell#(dark)#Light::Dark::Summary#(/dark)#">
|
|
<td align="center">#(editable)# ::<input type="checkbox" name="modify_#[term]#" id="modify_#[term]#" value="checked" disabled="disabled"/>#(/editable)#</td>
|
|
<td align="center">#(editable)# ::<input type="checkbox" name="delete_#[term]#" id="delete_#[term]#" value="checked" />#(/editable)#</td>
|
|
<td align="left">#[term]#</td>
|
|
<td align="left">#(editable)##[synonyms]#::<input type="text" name="synonyms_#[term]#" value="#[synonyms]#" size="40" maxlength="1024" onkeyup="document.getElementById('modify_#[term]#').checked='checked'; document.getElementById('modify_#[term]#').disabled=''; document.getElementById('delete_#[term]#').disabled='disabled';"/>#(/editable)#</td>
|
|
<td align="left">#(editable)##[objectlink]#::<input type="text" name="objectlink_#[term]#" value="#[objectlink]#" size="60" maxlength="1024" onkeyup="document.getElementById('modify_#[term]#').checked='checked'; document.getElementById('modify_#[term]#').disabled=''; document.getElementById('delete_#[term]#').disabled='disabled';"/>#(/editable)#</td>
|
|
</tr>
|
|
#{/terms}#
|
|
#(editable)#::
|
|
<tr class="TableCellDark">
|
|
<td align="center" colspan="2"><input type="checkbox" name="add_new" id="add_new" value="checked" disabled="disabled"/><i>add</i></td>
|
|
<td align="left"><input type="text" name="newterm" id="newterm" value="" size="24" maxlength="128" onkeyup="document.getElementById('add_new').checked='checked'; document.getElementById('add_new').disabled=''"/></td>
|
|
<td align="left"><input type="text" name="newsynonyms" id="newsynonyms" value="" size="40" maxlength="1024"/></td>
|
|
<td align="left"><input type="text" name="newobjectlink" id="newobjectlink" value="" size="60" maxlength="1024"/></td>
|
|
</tr>
|
|
<tr class="TableCellDark">
|
|
<td colspan="3"></td>
|
|
<td colspan="2" align="right" class="TableCellSummary"><input type="checkbox" name="clear_table" id="clear_table" value="checked" /><i>clear table (remove all terms)</i></td>
|
|
</tr>
|
|
<tr class="TableCellDark">
|
|
<td colspan="3"></td>
|
|
<td colspan="2" align="right" class="TableCellSummary"><input type="checkbox" name="delete_vocabulary" id="delete_vocabulary" value="checked" /><i>delete vocabulary</i></td>
|
|
</tr>
|
|
#(/editable)#
|
|
</table>
|
|
<input type="hidden" name="vocabulary" value="#[name]#" />
|
|
<input type="submit" name="set" value="Submit" />
|
|
</fieldset>
|
|
</form>
|
|
#(/edit)#
|
|
|
|
#%env/templates/footer.template%#
|
|
</body>
|
|
</html>
|