Commit 77ef97c9 authored by Romain Loth's avatar Romain Loth

Merge branch 'testing' into romain-testing

parents e865d164 27586e5d
...@@ -219,10 +219,9 @@ def countCooccurrences( corpus_id=None , cooc_id=None ...@@ -219,10 +219,9 @@ def countCooccurrences( corpus_id=None , cooc_id=None
print("GRAPH #%s ... Parameters saved in Node." % cooc_id) print("GRAPH #%s ... Parameters saved in Node." % cooc_id)
coocNode = session.query(Node).filter(Node.id==cooc_id).first() coocNode = session.query(Node).filter(Node.id==cooc_id).first()
coocNode.hyperdata[distance] = dict() coocNode.hyperdata["parameters"] = dict()
coocNode.hyperdata[distance]["parameters"] = parameters coocNode.hyperdata["parameters"] = parameters
coocNode.save_hyperdata()
session.add(coocNode)
session.commit() session.commit()
#data = cooc2graph(coocNode.id, cooc, distance=distance, bridgeness=bridgeness) #data = cooc2graph(coocNode.id, cooc, distance=distance, bridgeness=bridgeness)
......
...@@ -69,9 +69,14 @@ def compute_graph( corpus_id=None , cooc_id=None ...@@ -69,9 +69,14 @@ def compute_graph( corpus_id=None , cooc_id=None
node = session.query(Node).filter(Node.id == cooc_id).first() node = session.query(Node).filter(Node.id == cooc_id).first()
if node.hyperdata.get(distance, None) is None: if node.hyperdata.get(distance, None) is None:
print("GRAPH #%d ... Distance %s has not been computed already." % (cooc_id, distance))
node.hyperdata[distance] = dict() node.hyperdata[distance] = dict()
node.hyperdata[distance][bridgeness] = data node.hyperdata[distance][bridgeness] = data
node.hyperdata[distance]["nodes"] = len(G.nodes())
node.hyperdata[distance]["edges"] = len(G.edges())
node.save_hyperdata() node.save_hyperdata()
session.commit() session.commit()
......
...@@ -75,9 +75,6 @@ def myGraphs(request, project_id, corpus_id): ...@@ -75,9 +75,6 @@ def myGraphs(request, project_id, corpus_id):
.all() .all()
) )
#for n in cooc_nodes:
# print(n)
#coocs_count[cooc.id] = len(cooc_nodes) #coocs_count[cooc.id] = len(cooc_nodes)
coocs_count[cooc.id] = len([cooc_node for cooc_node in cooc_nodes if cooc_node[1] > 1]) coocs_count[cooc.id] = len([cooc_node for cooc_node in cooc_nodes if cooc_node[1] > 1])
......
...@@ -19,102 +19,170 @@ ...@@ -19,102 +19,170 @@
<div class="container theme-showcase" role="main"> <div class="container theme-showcase" role="main">
<h2>My Graphs </h2> <h2>My Graphs </h2>
<ol> <ol>
{% for cooc in coocs %} {% if coocs %}
<div id="graph_{{cooc.id}}"> {% for cooc in coocs %}
<div class="row"> <div id="graph_{{cooc.id}}">
<div class="col-md-1 content"></div> <div class="row">
<div class="col-md-1 content"></div>
<div class="col-md-5 content">
<li> <div class="col-md-5 content">
<h4>{{cooc.name}}</h4> <li>
{{cooc.date}} <h4>{{cooc.name}}</h4>
{% for key, value in coocs_count.items %} {{cooc.date}}<br>
{% if key == cooc.id %} {% for key, value in coocs_count.items %}
{% if value > 0 %} {% if key == cooc.id %}
{% if value > 0 %}
<ul> From: {% if not cooc.hyperdata.parameters.start %} begin of corpus {% else %} {{cooc.hyperdata.parameters.start}} {% endif %}
<!-- <li>{{cooc.id}}</li> --> , To: {% if not cooc.hyperdata.parameters.end %} end of corpus {% else %} {{cooc.hyperdata.parameters.end}} {% endif %}
<li>From: {% if not cooc.hyperdata.start %} begin of corpus {% else %} {{cooc.hyperdata.start}} {% endif %} <br>
, To: {% if not cooc.hyperdata.end %} end of corpus {% else %} {{cooc.hyperdata.end}} {% endif %}
</li> <ul>
<li> ~{{ value }} nodes with distances: <li>
<ul>
<li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=5"> <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=5">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> <span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
Conditional {% if cooc.hyperdata.conditional %}
~{{ cooc.hyperdata.conditional.nodes }} nodes,
~{{ cooc.hyperdata.conditional.edges }} edges
with <b>Conditional</b> distance
{% else %}
Compute this graph with Conditional distance
{% endif %}
</a> </a>
(with bridgeness </li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=10">10</a>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=20">20</a> <li>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=30">30</a>
)
</li>
<li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=5"> <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=5">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> <span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
Distributional {% if cooc.hyperdata.distributional %}
~{{ cooc.hyperdata.distributional.nodes }} nodes,
~{{ cooc.hyperdata.distributional.edges }} edges
with <b>Distributional</b> distance
{% else %}
Compute this graph with Distributional distance
{% endif %}
</a> </a>
(with bridgeness </li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=10">10</a> </ul>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=20">20</a> <br>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=30">30</a>
)
<!-- <li>{{cooc.id}}</li>
<ul>
<li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=5">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
Conditional
</a>
(with bridgeness
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=10">10</a>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=20">20</a>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional&bridgeness=30">30</a>
)
</li>
<li>
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=5">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
Distributional
</a>
(with bridgeness
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=10">10</a>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=20">20</a>
or <a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=distributional&bridgeness=30">30</a>
)
</li>
</ul>
-->
{% else %}
<!--
<br> Processing (wait and reload the page)
!-->
<div class="progress">
<div class=" progress-bar progress-bar-striped active"
role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 70%">
<span>
Processing (wait and reload the page)
</span>
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}
</li>
</div>
<div class="col-md-3 content">
<!--
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional"
title="View Graph">
<button type="button" class="btn btn-default" aria-label="Left Align">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
</button>
</a>
--!>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom"
data-content="
<ul>
<li
onclick=&quot;
garganrest.nodes.delete({{cooc.id}}, function(){$('#graph_'+{{cooc.id}}).remove()});
$(this).parent().parent().remove();
&quot;>
<a href='#'>Delete this</a>
</li> </li>
</ul> </ul>
</ul> ">
<span class="glyphicon glyphicon-trash" aria-hidden="true"
{% else %} title='Delete this graph'></span>
<!-- </button>
<br> Processing (wait and reload the page)
!-->
<div class="progress">
<div class=" progress-bar progress-bar-striped active"
role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 70%">
<span>
Processing (wait and reload the page)
</span>
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}
</li> </div>
</div>
<div class="col-md-3 content">
<!--
<a href="/projects/{{project.id}}/corpora/{{corpus.id}}/explorer?cooc_id={{cooc.id}}&distance=conditional"
title="View Graph">
<button type="button" class="btn btn-default" aria-label="Left Align">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
</button>
</a>
--!>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom"
data-content="
<ul>
<li
onclick=&quot;
garganrest.nodes.delete({{cooc.id}}, function(){$('#graph_'+{{cooc.id}}).remove()});
$(this).parent().parent().remove();
&quot;>
<a href='#'>Delete this</a>
</li>
</ul>
">
<span class="glyphicon glyphicon-trash" aria-hidden="true"
title='Delete this graph'></span>
</button>
</div> </div>
</div> </div>
</div>
{% endfor %} {% endfor %}
{% else %}
<h3>
<span class="glyphicon glyphicon-flag" aria-hidden="true"></span>
You have not computed any graph already</h3>
<h4>
<span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>
What is Graph ?
</h4>
<ul>
<li>Graph is a conveniant tool to explore your documents</li>
<li>Nodes are multi-terms selected in your Map List</li>
<li>Edges between nodes represent proximities of terms according to a specific distance between your documents.</li>
<ul>
<li>Conditional distance between the terms X and Y is the probability to have both terms X <b> and </b> Y in the same textual context.</li>
<li>Distributional distance between the terms X and Y is the probability to have same others terms in the same textual context as X <b>or</b> Y.</li>
</ul>
</ul>
<h4>
<span class="glyphicon glyphicon-hand-right" aria-hidden="true"></span>
How to compute a new graph ?
</h4>
<ol>
<li>Look at the menu</li>
<li>Click on Graphs</li>
<li>Choose a distance</li>
<li>Click on the distance or on MyGraph which is this page</li>
</ol>
<h4>
<span class="glyphicon glyphicon-ok-circle" aria-hidden="true"></span>
Do you want to test ?</h4>
</li>
<a href="/projects/{{project.id}}/corpora/{{ corpus.id }}/explorer?field1=ngrams&amp;field2=ngrams&amp;distance=conditional&amp;bridgeness=5">Compute a new graph with conditional distance!</a>
{% endif %}
</ul> </ul>
{% endblock %} {% endblock %}
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
<p> <p>
Gargantext Gargantext
<span class="glyphicon glyphicon-registration-mark" aria-hidden="true"></span> <span class="glyphicon glyphicon-registration-mark" aria-hidden="true"></span>
, version 3.0.5.5, , version 3.0.5.6,
<a href="http://www.cnrs.fr" target="blank" title="Institution that enables this project."> <a href="http://www.cnrs.fr" target="blank" title="Institution that enables this project.">
Copyrights Copyrights
<span class="glyphicon glyphicon-copyright-mark" aria-hidden="true"></span> <span class="glyphicon glyphicon-copyright-mark" aria-hidden="true"></span>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment