blob: a2bbaa62df2fafbcce29cec273e0042da7b3fd2a [file] [log] [blame]
Nils Diewald4e9fbcb2014-07-15 11:45:09 +00001% content main => begin
2
3%# Store the id of an active section in the session, so the system is able to directly scroll to the relevant section
4%# This should be stored when clicking on a specific query
5%# but the remembered section contains the id - not the query
6
7<h2>KorAP-Tutorial</h2>
8
Nils Diewaldf7366232014-07-25 15:57:08 +00009<p>
10 <%= korap_tut_link_to 'Poliqarp+-Tutorial', '/tutorial/poliqarp-plus' %>
11 <%= korap_tut_link_to 'Foundry Overview', '/tutorial/foundries' %>
12 <%= korap_tut_link_to 'Regular Expressions', '/tutorial/regular-expressions' %>
13 <%= korap_tut_link_to 'Wildcards', '/tutorial/wildcards' %>
14</p>
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000015
16<!--
17<p>Links to Blog, FAQ, About, Contact ...</p>
18<ul>
19 <li>Introduction to KorAP</li>
20 <li>How to use Poliqarp+ QL?</li>
21 <li>How to use Cosmas-II QL?</li>
22 <li>How to use CQL?</li>
23 <li>API</li>
24 <li>Search</li>
25</ul>
26-->
27
28<section id="tut-intro">
Nils Diewald729f7182014-07-15 16:22:34 +000029 <h3>Frontend Features</h3>
30 <p>This frontend differs to the <%= link_to 'official frontend', 'http://korap.ids-mannheim.de/app/', target => '_blank' %> by providing a serialization view, an integrated tutorial, a comparison view for morphological annotations, and an autocompletion for closed annotations (type in <%= korap_tut_link_to 'foundry prefixes', '/tutorial/foundries' %> like <code>cnx/</code>).</p>
31</section>
32
33
34<section id="tut-examples">
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000035
36<h3>Example Queries</h3>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000037
38%# Tests:
39%# [is => 'json_pointer', 'result']
40%# [ok => 'json_pointer']
41%# [isnt => 'json_pointer', 'result']
42%# [not_ok => 'json_pointer']
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000043
Nils Diewald13bad6a2014-07-18 16:44:51 +000044<p><strong>Poliqarp</strong>: Find all occurrences of the lemma &quot;baum&quot; as annotated by the <%= korap_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000045%= korap_tut_query poliqarp => '[base=Baum]', 'tests' => [[is => '/query', 'tokens:tt/l:Baum'],[is => '/request/query/wrap/layer', 'lemma'],[is => '/request/query/wrap/foundry', 'tt'], [ok => '/matches/10']]
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000046
Nils Diewalde2c83812014-11-11 21:13:18 +000047<p><strong>Poliqarp</strong>: Find all sequences of adjectives as annotated by Treetagger, that are repeated 3 to 5 times in a row.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000048%= korap_tut_query poliqarp => '[tt/p=ADJA]{3,5}', 'tests' => [[is => '/query', 'spanRepetition(tokens:tt/p:ADJA{3,5})'], [is => '/request/query/operation', 'operation:repetition'],[is => '/request/query/operands/0/wrap/foundry', 'tt'], [ok => '/matches/5']]
Nils Diewalde2c83812014-11-11 21:13:18 +000049
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000050<p><strong>Cosmas-II</strong>: Find all occurrences of the words &quot;der&quot; and &quot;Baum&quot;, in case they are in a maximum distance of 5 tokens. The order is not relevant.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000051%= korap_tut_query cosmas2 => 'der /w5 Baum', 'tests' => [[is => '/query', 'shrink(129: spanDistance({129: tokens:s:der}, {129: tokens:s:Baum}, [(w[0:5], notOrdered, notExcluded)]))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/@type', 'korap:reference'],[is => '/request/query/operands/0/operands/1/operation', 'operation:class'], [is => '/itemsPerPage', 25], [ok => '/matches/20'], [is => '/matches/4/corpusID', 'WPD'], [is => '/matches/12/corpusID', 'WPD']]
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000052
Nils Diewald29c0b1d2014-11-13 21:14:17 +000053<p><strong>Cosmas-II</strong>: Find all sequences of a word starting with a &quot;d&quot; (using a wildcard) followed by an adjective as annotated in the mate foundry, followed by the word &quot;Baum&quot; (ignore the case), that is in a sentence element annotated by the <%= korap_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
54%= korap_tut_query cosmas2 => 'd* MORPH(mate/p=ADJA) $Baum #IN #ELEM(s)', 'tests' => [[ok => '/matches/3'], [is => '/query', 'shrink(130: {131: spanContain({129: <tokens:s />}, {130: spanNext(spanNext(SpanMultiTermQueryWrapper(tokens:s:d*), tokens:mate/p:ADJA), tokens:i:baum)})})'], [is => '/request/query/@type', 'korap:reference'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/operands/0/operation', 'operation:position'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operation', 'operation:sequence'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/0/wrap/type', 'type:wildcard'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/key', 'ADJA'], [is => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/1/wrap/foundry', 'mate'], [ok => '/request/query/operands/0/operands/0/operands/1/operands/0/operands/2/wrap/caseInsensitive'], [ok => '/matches/5']]
55
56<p><strong>Poliqarp+</strong>: Find all nominal phrases as annotated using Connexor, that contain an adverb as annotated by OpenNLP, that is annotated as something starting with an &quot;A&quot; using regular expressions in Treetagger.</p>
57%= korap_tut_query poliqarp => 'contains(<cnx/c=np>,{[opennlp/p=ADV & tt/p="A.*"]})', cutoff => 1, 'tests' => [[is => '/query', 'spanContain(<tokens:cnx/c:np />, {1: spanSegment(tokens:opennlp/p:ADV, SpanMultiTermQueryWrapper(tokens:/tt/p:A.*/))})'], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/frames/0', 'frames:contains'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/layer', 'c'], [is => '/request/query/operands/0/foundry', 'cnx'], [is => '/request/query/operands/0/key', 'np'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/foundry', 'opennlp'], [is => '/request/query/operands/1/operands/0/wrap/operands/0/layer', 'p'], [is => '/request/query/operands/1/operands/0/wrap/operands/1/foundry', 'tt'], [is => '/request/query/operands/1/operands/0/wrap/operands/1/type', 'type:regex'], [is => '/request/query/operands/1/operands/0/wrap/operands/1/key', 'A.*'], [ok => '/matches/5']]
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000058
Nils Diewalde2c83812014-11-11 21:13:18 +000059<p><strong>Poliqarp+</strong>: Find all sentences as annotated by the base foundry that start with a sequence of one token in present tense as annotated by Connexor and the lemma &quot;die&quot; annotated by the <%= korap_tut_link_to 'default foundry', '/tutorial/foundries' %>. Highlight both terms of the sequence.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000060%= korap_tut_query poliqarp => 'startswith(<s>, {1:[cnx/m=PRES]}{2:[base=die]})', cutoff => 1, tests => [[is => '/query', 'spanStartsWith(<tokens:s />, spanNext({1: tokens:cnx/m:PRES}, {2: tokens:tt/l:die}))'], [is => '/request/meta/startPage', 1], [is => '/request/query/operation', 'operation:position'], [is => '/request/query/operands/0/@type','korap:span'], [is => '/request/query/operands/1/operands/0/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operation', 'operation:class'], [is => '/request/query/operands/1/operands/1/operands/0/wrap/foundry', 'tt'], [ok => '/matches/4']]
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000061
Nils Diewaldec591a02014-11-13 03:11:28 +000062<p><strong>Poliqarp+</strong>: Find all sequences of an article, followed by three to four adjectives and a noun as annotated by the Treetagger foundry, that finish a sentence. Highlight all parts of the sequence.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000063%= korap_tut_query poliqarp => 'focus(3:endswith(<s>,{3:[tt/p=ART]{1:{2:[tt/p=ADJA]{3,4}}[tt/p=NN]}}))', cutoff => 1, 'tests' => [[is => '/query', 'shrink(3: spanEndsWith(<tokens:s />, {3: spanNext(tokens:tt/p:ART, {1: spanNext({2: spanRepetition(tokens:tt/p:ADJA{3,4})}, tokens:tt/p:NN)})}))'], [is => '/request/query/operation', 'operation:focus'], [is => '/request/query/operands/0/frames/0', 'frames:endswith'], [ok => '/matches/3'], [is => '/matches/4/corpusID', 'WPD']]
Nils Diewaldec591a02014-11-13 03:11:28 +000064
Nils Diewald7e259592014-11-12 19:04:55 +000065<p><strong>Annis</strong>: Find all occurrences of the sequence of two tokens annotated as adverbs by the <%= korap_tut_link_to 'default foundry', '/tutorial/foundries' %>.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000066%= korap_tut_query annis => 'pos="ADV" & pos="ADV" & #1 . #2', 'tests' => [[is => '/query', 'spanNext(tokens:tt/p:ADV, tokens:tt/p:ADV)'], [is => '/request/query/operands/0/wrap/foundry', 'tt'], [is => '/request/query/operands/1/wrap/foundry', 'tt'], [ok => '/matches/5'], [ok => '/matches/15'], [is => '/matches/15/corpusID', 'WPD']]
Nils Diewalde2c83812014-11-11 21:13:18 +000067
Nils Diewald7e259592014-11-12 19:04:55 +000068<p><strong>CQL</strong>: Find all occurrences of the sequence &quot;der alte Mann&quot;.</p>
Nils Diewald29c0b1d2014-11-13 21:14:17 +000069%= korap_tut_query cql => '"der alte Mann"', 'tests' => [[is => '/query', 'spanNext(spanNext(tokens:s:der, tokens:s:alte), tokens:s:Mann)'], [is => '/request/query/operation', 'operation:sequence'],[is => '/request/query/operands/0/wrap/key', 'der'],[is => '/request/query/operands/1/wrap/key', 'alte'],[is => '/request/query/operands/2/wrap/key', 'Mann'], [ok => '/matches/5'], [ok => '/matches/5']]
Nils Diewald13bad6a2014-07-18 16:44:51 +000070
Nils Diewald4e9fbcb2014-07-15 11:45:09 +000071</section>
72
73% end