Select Git revision
unl2rdf.html

David Beniamine authored
unl2rdf.html 5.90 KiB
{% extends "base.html" %}
{% block title %}UNL 2 RDF demo{% endblock %}
{% block content %}
{% if not unl %}
<form action="{{request.path}}" method="POST">
<h1>Enter some UNL here I will convert it for you</h1>
<div class="form-group row">
<div class="col-12 col-md-8">
<h2>UNL</h3>
<textarea class="form-control" name="unl" cols="120" rows="30" >
; Type in your UNL text, it may be a simple graph enclosed in [S] and [/S] tags
; or a structures UNL documents using [D] [P] [T] [S] flags
; with or without the multilingual facets (enclosed in {org}, {fr}, etc... flags
[D]
[S:R1]
{org:en}
The system allows a radio channel to take on two states: Listening and Traffic.
{/org}
{unl}
aoj( allow(icl>be, aoj>thing, ben>thing, obj>uw, equ>make_possible).@entry, system(icl>group).@def )
obj( allow(icl>be, aoj>thing, ben>thing, obj>uw, equ>make_possible).@entry, take_on(aoj>thing, equ>assume,icl>change, obj>thing) )
ben( allow(icl>be, aoj>thing, ben>thing, obj>uw, equ>make_possible).@entry, channel(icl>radiowave).@indef)
aoj( take_on(aoj>thing, equ>assume, icl>change, obj>thing), channel(icl>radiowave).@indef )
obj( take_on(aoj>thing, equ>assume, icl>change, obj>thing), state(icl>attribute).@plu )
qua( state(icl>attribute).@plu, 2 )
cnt( state(icl>attribute).@plu, listening(icl>sensing) )
and( listening(icl>sensing),traffic(icl>communication) )
{/unl}
[/S]
[S:R2]
{org:en}
The system displays a channel in green when it is in broadcast state.
{/org}
{unl}
agt(display(icl>show,equ>exhibit,agt>thing,obj>thing).@entry.@present,system(icl>group).@def)
mod(channel(icl>radiowave).@indef,green(icl>adj,iof>color))
obj(display(icl>show,equ>exhibit,agt>thing,obj>thing).@entry.@present,channel(icl>radiowave).@indef)
tim(display(icl>show,equ>exhibit,agt>thing,obj>thing).@entry.@present,when(icl>how,com>always,tim<uw,obj>uw))
aoj:01(be_in_a_state(aoj>thing,icl>be,obj>state).@entry.@present,channel(icl>radiowave).@indef)
plc:01(state(icl>attribute),broadcast(icl>message))
obj:01(be_in_a_state(aoj>thing,icl>be,obj>state).@entry.@present,state(icl>attribute))
obj(when(icl>how,com>always,tim<uw,obj>uw),:01)
{/unl}
[/S]
[/D]
</textarea>
</div>
<div class="col-4">
<h3>Settings</h2>
<ul>
<li><label><input type="checkbox" name="outputs" value="rdf" checked>RDF</label></li>
<li><label><input type="checkbox" name="outputs" value="dot" checked>Graph (dot)</label></li>
</ul>
<button class="btn btn-primary" type="submit">Submit</button>
</div>
</div>
</form>
{% else %}
<div class="row">
{% if output['error'] %}
<div class='col-12 md-6'>
<h2> Error </h2>
<pre>
{{ output['error'] }}
</pre>
</div>
{% endif %}
{% if output['svg'] %}
<div class='col-12 md-6'>
<h2> Unl graph </h2>
<div class='row justify-content-center'>
<div class='col-3'>
<button class="btn btn-primary" type="button" onclick="download('graph.svg', 'svg', 'html',
'image/svg+xml')">Download image <i class="fas fa-download"
></i></button>
</div>
<div class='col-3'>
<button class="btn btn-primary" type="button" onclick="download('graph.dot', 'dot', 'text',
'text/plain;charset=utf-8')">Download source <i class="fas
fa-download" ></i></button>
</div>
<div class='col-3'>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#svg" aria-expanded="true" aria-controls="svg">Toggle image</button>
</div>
<div class='col-3'>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#dotdiv" aria-expanded="false" aria-controls="dotdiv">Toggle source</button>
</div>
</div>
<div id='svg' class='collapse show'>
{{ output['svg'] | safe }}
</div>
<div id='dotdiv' class='collapse'>
<pre>
<code id='dot'>
{{ output['dot'] }}
</code>
</pre>
</div>
</div>
{% endif %}
{% if output['rdf'] %}
<div class='col-12 md-6'>
<h2> RDF </h2>
<div class='row justify-content-center'>
<div class='col-3'>
<button class="btn btn-primary" type="button" onclick="download('out.ttl', 'rdf', 'text', 'application/x-turtle')">Download RDF <i class="fas fa-download" ></i></button>
</div>
<div class='col-3'>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#rdf" aria-expanded="true" aria-controls="rdf">Toggle RDF</button>
</div>
</div>
<pre>
<code id='rdf' class='collapse show'>
{{ output['rdf'] }}
</code>
</pre>
</div>
{% endif %}
<div class='col-12 md-6'>
<h2> UNL </h2>
<div class='row justify-content-center'>
<div class='col-3'>
<button class="btn btn-primary" type="button" onclick="download('in.unl', 'unl', 'text', 'text/plain;charset=utf-8')">Download UNL <i class="fas fa-download" ></i></button>
</div>
<div class='col-3'>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#unl" aria-expanded="true" aria-controls="unl">Toggle UNL</button>
</div>
</div>
<pre>
<code id='unl' class='collapse show'>
{{ unl }}
</code>
</pre>
</div>
</div>
{% endif %}
{% endblock %}