blob: 7cac3e494f8f3027211ea1b6cafeabadcb6db1b2 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html xmlns:lang="en"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<head>
<title>Apache Any23: Anything To Triples - Service ${project.version} (${implementation.build.tstamp})</title>
<link rel="stylesheet" type="text/css" href="resources/css/bootstrap.min.css" />
<script type="text/javascript" src="resources/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="resources/js/bootstrap-modal.js"></script>
<script type="application/javascript">
jQuery( document ).ready( function($)
{
$.each( $( '.app-base-uri' ), function()
{
$( this ).text( document.location );
});
$( '#app-path' ).text( document.location.pathname );
$( '#app-host' ).text( document.location.host );
} );
function showModal( id )
{
$( id ).modal( 'show' );
}
</script>
</head>
<body>
<div class="container">
<a href="http://any23.apache.org/" title="Apache Any23 Dev Site" target="_blank">
<img
alt="Apache Any23 Dev Site"
src="resources/images/logo-any23-214x97.png"
width="90"
/></a>
<a href="http://www.apache.org/" title="Apache Software Foundation" target="_blank">
<img
alt="Apache Software Foundation"
src="resources/images/logo-apache-90x30.png"
width="90"
/></a>
<h1>Apache Any23 - Anything To Triples - Live Service Demo</h1>
<p>Parses Microformats, RDFa, Microdata, RDF/XML, Turtle, N-Triples, JSON-LD and NQuads.</p>
<p>Download and install Any23: visit the <a href="http://any23.apache.org/" target="_blank">Developers Site</a> and the <a href="http://any23.apache.org/getting-started.html" target="_blank">Documentation</a>.
<hr />
<h2>Convert document at IRI</h2>
<form class="well form-horizontal" method="get" action="any23/">
<label>Pick an output format and enter the IRI of a web document:</label>
<div class="control-group">
<label class="control-label app-base-uri" for="format">http://.../</label>
<div class="controls">
<select id="format" name="format">
<option value="best" selected="selected">best</option>
<option value="turtle">turtle</option>
<option value="ntriples">ntriples</option>
<option value="rdfxml">rdfxml</option>
<option value="nquads">nquads</option>
<option value="trix">trix</option>
<option value="json">json</option>
<option value="jsonld">json-ld</option>
</select>/<input type="text" size="50" name="uri" value="http://twitter.com/cygri" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-openie-get">OpenIE</label>
<div class="controls">
<label class="checkbox">
<input id="url-openie-get" type="checkbox" name="openie">
<a href="javascript:showModal( '#sPopup-openie' );">[?]</a>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-validation-get">Validation</label>
<div class="controls">
<select id="url-validation-get" name="validation-mode" onclick="if(document.getElementById('url-validation-get').value.indexOf('validate') == 0) { document.getElementById('url-report-get').checked = true; }">
<option value="none">none</option>
<option value="validate">validate</option>
<option value="validate-fix">validate+fix</option>
</select>
<a href="javascript:showModal( '#sPopup-fix' );">[?]</a>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-report">Report</label>
<div class="controls">
<label class="checkbox">
<input id="url-report-get" type="checkbox" name="report">
<a href="javascript:showModal( '#sPopup-report' );">[?]</a>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-annotate-get">Annotate</label>
<div class="controls">
<label class="checkbox">
<input id="url-annotate-get" type="checkbox" name="annotate">
<a href="javascript:showModal( '#sPopup-annotate' );">[?]</a>
</label>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Convert</button>
<button type="reset" class="btn">Cancel</button>
</div>
</form>
<hr />
<h2>Convert copy&amp;pasted document</h2>
<form class="well form-horizontal" method="post" action="any23/">
<div class="control-group">
<label class="control-label" for="type">Input format</label>
<div class="controls">
<select id="type" name="type">
<option value="">auto-detect</option>
<option value="text/html">HTML with Microformats, RDFa (text/html)</option>
<option value="application/xhtml+xml">XHTML with Microformats, RDFa, Microdata (application/xhtml+xml)</option>
<option value="text/turtle">Turtle (text/turtle)</option>
<option value="text/nt">N-Triples (text/nt)</option>
<option value="text/nq">N-Quads (text/nq)</option>
<option value="application/trix">TriX (application/trix)</option>
<option value="application/rdf+xml">RDF/XML (application/rdf+xml)</option>
<option value="text/csv">CSV (text/csv)</option>
<option value="application/ld+json">JSON-LD (application/ld+json)</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="out-format">Output format</label>
<div class="controls">
<select id="out-format" name="format">
<option value="best" selected="selected">best (content-negotiated)</option>
<option value="turtle">turtle</option>
<option value="ntriples">ntriples</option>
<option value="rdfxml">rdfxml</option>
<option value="nquads">nquads</option>
<option value="trix">trix</option>
<option value="json">json</option>
<option value="jsonld">json-ld</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="openie-on-post">OpenIE</label>
<div class="controls">
<label class="checkbox">
<input id="url-openie-post" type="checkbox" name="openie">
<a href="javascript:showModal( '#sPopup-openie' );">[?]</a>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-validation-post">Validation</label>
<div class="controls">
<select id="url-validation-post" name="validation-mode" onclick="if(document.getElementById('url-validation-post').value.indexOf('validate') == 0) { document.getElementById('url-report-post').checked = true; }">
<option value="none">none</option>
<option value="validate">validate</option>
<option value="validate-fix">validate+fix</option>
</select>
<a href="javascript:showModal( '#sPopup-fix' );">[?]</a>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-report">Report</label>
<div class="controls">
<label class="checkbox">
<input id="url-report-post" type="checkbox" name="report">
<a href="javascript:showModal( '#sPopup-report' );">[?]</a>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label" for="url-annotate-post">Annotate</label>
<div class="controls">
<label class="checkbox">
<input id="url-annotate-post" type="checkbox" name="annotate">
<a href="javascript:showModal( '#sPopup-annotate' );">[?]</a>
</label>
</div>
</div>
<textarea class="span11" name="body" rows="12">@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
[] a foaf:Person;
foaf:name "John X. Foobar";
foaf:mbox_sha1sum "cef817456278b70cee8e5a1611539ef9d928810e";
.</textarea>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Convert</button>
<button type="reset" class="btn">Cancel</button>
</div>
</form>
<hr />
<h2>API quick reference</h2>
<h3>Examples</h3>
<ul>
<li><code><a href="best/twitter.com/cygri"><span class="app-base-uri">http://.../</span>best/twitter.com/cygri</a></code></li>
<li><code><a href="rdfxml/http://data.gov"><span class="app-base-uri">http://.../</span>rdfxml/http://data.gov</a></code></li>
<li><code><a href="ttl/http://www.w3.org/People/Berners-Lee/card"><span class="app-base-uri">http://.../</span>ttl/http://www.w3.org/People/Berners-Lee/card</a></code></li>
<li><code><a href="?uri=http://dbpedia.org/resource/Berlin"><span class="app-base-uri">http://.../</span>?uri=http://dbpedia.org/resource/Berlin</a></code></li>
<li><code><a href="?format=nt&uri=http://dbpedia.org/resource/Berlin"><span class="app-base-uri">http://.../</span>?format=nt&uri=http://dbpedia.org/resource/Berlin</a></code></li>
</ul>
<h3>Compact API</h3>
<p>HTTP GET requests can be made
to IRIs of the shape</p>
<pre><span class="app-base-uri">http://.../</span><em>format</em>/<em>input-uri</em></pre>
<p>The response is the input document converted to the desired output format.</p>
<h3>Form-style GET API</h3>
<p>HTTP GET requests can be made to
the IRI
<code class="app-base-uri">http://.../</code> with the following
query parameters:
</p>
<table class="table">
<tr><th>uri</th><td>IRI of an input document.</td></tr>
<tr><th>format</th><td>Desired output format, defaults to <code>best</code>.</td></tr>
<tr><th>validation-mode</th><td>The validation level to be applied on the input. Possible values:<br/>
<code>none</code> (no validation applied);<br/>
<code>validate</code>(apply validation and produce validation report if <code>annotate</code> flag is enabled);<br/>
<code>validate+fix</code>(apply validation, try to fix detection issues and produce validation report if <code>annotate</code> flag is enabled).</td>
</tr>
<tr><th>annotate</th><td>If specified the output RDF will contain extractor specific scope comments.<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
<tr><th>report</th><td>If specified will produce a full XML report containing extraction and validation issues other than produced metadata.<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
<tr><th>openie</th><td>If specified the <a href="https://github.com/allenai/openie-standalone" target="_blank">
Open Information Extraction (Open IE) system</a> will be activated (default off).<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
</table>
Formatting the URL according to the above will return an HTTP <i>302</i> redirect to <code><span class="app-base-uri">http://...</span>any23/<em>format</em></code>.<br/>
<p>The response is the input document converted to the desired output format.</p>
<h3>Direct POST API</h3>
<p>HTTP POSTing a document body to
<code><span class="app-base-uri">http://.../</span><em>format</em></code> will convert
the document to the specified output format. <br/>
The media type of the input
has to be specified in the <code>Content-Type</code> HTTP header.
Depending on the servlet container, a <code>Content-Length</code> header specifying
the length of the input document in bytes might also be required.<br/>
Typical media types for supported input formats are:
</p>
<table class="table">
<tr><th>Input format</th><th>Media type</th></tr>
<tr><th>HTML</th><td><code>text/html</code></td></tr>
<tr><th>RDF/XML</th><td><code>application/rdf+xml</code></td></tr>
<tr><th>Turtle</th><td><code>text/turtle</code></td></tr>
<tr><th>N-Triples</th><td><code>text/nt</code></td></tr>
<tr><th>N-Quads</th><td><code>text/nq</code></td></tr>
<tr><th>TriX</th><td><code>application/trix</code></td></tr>
</table>
<p>Example POST request:</p>
<pre>POST <span id="app-path">/</span>rdfxml HTTP/1.0
Host: <span id="app-host">example.com</span>
Content-Type: text/turtle
Content-Length: 174
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
[] a foaf:Person;
foaf:name "John X. Foobar";
foaf:mbox_sha1sum "cef817456278b70cee8e5a1611539ef9d928810e";
.</pre>
<h3>Form-style POST API</h3>
<p>A document body can also be converted by HTTP POSTing form data to
<code><span class="app-base-uri">http://.../</span></code>. <br/>
The <code>Content-Type</code> HTTP header must be set to
<code>application/x-www-form-urlencoded</code>. The following
parameters are supported:
</p>
<table class="table">
<tr><th>type</th><td>Media type of the input, see the table above. If not present, auto-detection will be attempted.</td></tr>
<tr><th>body</th><td>Document body to be converted.</td></tr>
<tr><th>format</th><td>Desired output format; defaults to <code>best</code>.</td></tr>
<tr><th>validation-mode</th><td>The validation level to be applied on the input. Possible values:<br/>
<code>none</code> (no validation applied);<br/>
<code>validate</code>(apply validation and produce validation report if <code>annotate</code> flag is enabled);<br/>
<code>validate+fix</code>(apply validation, try to fix detection issues and produce validation report if <code>annotate</code> flag is enabled).</td>
</tr>
<tr><th>annotate</th><td>If specified the output RDF will contain extractor specific scope comments.<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
<tr><th>report</th><td>If specified will produce a full XML report containing extraction and validation issues other than produced metadata.<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
<tr><th>openie</th><td>If specified the <a href="https://github.com/allenai/openie-standalone" target="_blank">
Open Information Extraction (Open IE) system</a> will be activated (default off).<br/>Possible values: <code>on</code>/<code>off</code></td></tr>
</table>
<h3>Output formats</h3>
<p>Supported output format identifiers are:</p>
<ul>
<li><code>best</code> for content negotiation according to the client's <code>Accept</code> HTTP header</li>
<li><code>turtle</code>, <code>ttl</code>, <code>n3</code> for
<a href="https://www.w3.org/TR/turtle/" target="_blank">Turtle</a>/<a href="https://www.w3.org/TeamSubmission/n3/" target="_blank">N3</a></li>
<li><code>ntriples</code>, <code>nt</code> for
<a href="https://www.w3.org/TR/n-triples/" target="_blank">N-Triples</a></li>
<li><code>nquads</code>, <code>nq</code> for
<a href="https://www.w3.org/TR/n-quads/" target="_blank">N-Quads</a></li>
<li><code>trix</code> for
<a href="http://www.w3.org/2004/03/trix/" target="_blank">TriX</a></li>
<li><code>rdfxml</code>, <code>rdf</code>, <code>xml</code> for
<a href="http://www.w3.org/TR/rdf-syntax-grammar/" target="_blank">RDF/XML</a></li>
<li><code>json</code> for <a href="http://json.org/" target="_blank">JSON</a></li>
<li><code>jsonld</code> for <a href="https://json-ld.org/" target="_blank">JSON-LD</a></li>
</ul>
<h3>Error reporting</h3>
<p>Processing errors are indicated via
HTTP status codes and brief <code>text/plain</code> error messages.
The following status codes can be returned:</p>
<table class="table">
<thead>
<tr><th>Code</th><th>Reason</th></tr>
</thead>
<tbody>
<tr><th>200 OK</th><td>Success</td></tr>
<tr><th>400 Bad Request</th><td>Missing or malformed input parameter</td></tr>
<tr><th>404 Not Found</th><td>Malformed request IRI</td></tr>
<tr><th>406 Not Acceptable</th><td>None of the media types specified in the <code>Accept</code> header are supported</td></tr>
<tr><th>415 Unsupported Media Type</th><td>Document body with unsupported media type was POSTed</td></tr>
<tr><th>501 Not Implemented</th><td>Extraction from input was successful, but yielded zero triples</td></tr>
<tr><th>502 Bad Gateway</th><td>Input document from a remote server could not be fetched or parsed</td></tr>
</tbody>
</table>
<h3>Report Format</h3>
<p>The XML report format is subjected to changes. The current content is described in section
<a href="http://any23.apache.org/service.html" target="_blank">Any23 Service</a>.
</p>
<hr />
<p><b>Apache Any23 v.${project.version} (${implementation.build.tstamp})</b></p>
<p><a href="http://any23.apache.org/" target="_blank">Any23 project homepage</a> | Hosted at <a href="http://apache.org/" target="_blank">Apache Software Foundation</a></p>
<div id="sPopup-openie" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close">×</button>
<h3>Open Information Extraction</h3>
</div>
<div class="modal-body">
<p>
If the <i>OpenIE</i> checkbox is selected, the <b>Any23</b> service will activate the
<a href="https://github.com/allenai/openie-standalone" target="_blank">Open Information Extraction (Open IE) system</a>,
enhancing extraction results.</p>
<p>The Open IE system runs over sentences and creates extractions that represent relations in text, in the case
of Any23, this results in triples. The confidence of relationships extracted from text are based on a
configurable threshold established in
<code>https://github.com/apache/any23/blob/master/api/src/main/resources/default-configuration.properties</code>.
</p>
</div>
<div class="modal-footer">
<a href="#" class="btn">Close</a>
</div>
</div>
<div id="sPopup-fix" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" >×</button>
<h3>Validation</h3>
</div>
<div class="modal-body">
<p>
The <b>Any23</b> service tries to fix some common issues before performing a metadata
extraction. The fixing is performed according a set of fully customizable rules.
</p>
<p>
The following <i>Validation</i> options are available.
</p>
<ul>
<li><b>none</b>: no validation will be performed;</li>
<li><b>validate</b>: common errors within the document will be detected and reported. When selected this option the
<b>Report</b> flag will be activated to visualize the validation outcome;</li>
<li><b>validate+fix</b>: the common issues will be detected and a fix will be applied when available.</li>
</ul>
<p>
Please refer to the <a href="http://any23.apache.org/dev-validation-fix.html" target="_blank">Developer Guide</a>
for any further detail.
</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" >Close</a>
</div>
</div>
<div id="sPopup-report" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close">×</button>
<h3>Report</h3>
</div>
<div class="modal-body">
<p>
If the <i>Report</i> checkbox is selected, the <b>Any23</b> service returns an <b>XML</b> output containing,
other then the <b>extracted RDF statements</b>, other information as the list of the <b>activated extractors</b>
and the <b>detected errors</b>.
</p>
<p>
If the <b>validation</b> or <b>validation and fix</b> has been activated then the report contains also a list
of the applied fixes.
</p>
</div>
<div class="modal-footer">
<a href="#" class="btn">Close</a>
</div>
</div>
<div id="sPopup-annotate" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close">×</button>
<h3>Annotate</h3>
</div>
<div class="modal-body">
<p>
If the <i>Annotate</i> checkbox is selected, the <b>Any23</b> service returns an output expressed in the
selected <b>RDF</b> format containing also specific format <b>comments</b> describing the activated extractor
scopes for every produced statement.
</p>
</div>
<div class="modal-footer">
<a href="#" class="btn">Close</a>
</div>
</div>
</div>
<footer class="footer">
<div class="container-fluid">
Copyright &copy; ${project.inceptionYear}-2018 The <a href="http://www.apache.org/">Apache Software Foundation</a>. All Rights Reserved.<br/> Apache Any23, Apache, the Apache feather logo, and the Apache Any23 project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</div>
</footer>
<!-- Google Analytics Tracker code. By default configured to report to the Any23 community group.
To change this default behavior please specify your custom ID in parent POM (form.tracker.id property)
or delete this script block to disable. -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '${form.tracker.id}', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>