works-table.pl


# This work is licensed under the Creative Commons
# Attribution-ShareAlike 3.0 Unported License. To view a copy of this
# license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send
# a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042,
# USA. 
# Reference: http://www.lombardinetworks.net
# (C) Robert Tolksdorf, http://www.robert-tolksdorf.de
use Data::Dumper;
require "/vhome/lombardinetworks.net/htdocs/bin/helper.pl";

&loadWorkIds;
&load_image_urls;
&load_types;

# iterate through all works
$allnets="";
foreach $id (values %workid) {
    $all_networks.=&read_network_as_line($id);
}

# count <node and <edge
$nodes = () = $all_networks =~ /<node/gi;
$edges = () = $all_networks =~ /<edge/gi;

printf "<p>All networks together contain $nodes nodes and $edges edges (average edge/node ratio is %.2f).</p>\n",$edges/$nodes;

print "<p>The nodes and edges are of the following types (the charts are interactive):".
    '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>';

$nodedata="['Type','Number']";
foreach $n (@nodetype) {
    $number = () = $all_networks =~ /$n/gi;
    $n=~/http:\/\/www.lombardinetworks.net\/lombardi.owl#(.*)/;
    $nodedata.=",['$1',$number]";
}

print &piechart("pienodes","Types of nodes",$nodedata);

$edgedata="['Type','Number']";
foreach $e (@edgetype) {
    $number = () = $all_networks =~ /$e/gi;
    $e=~/http:\/\/www.lombardinetworks.net\/lombardi.owl#(.*)/;
    $edgedata.=",['$1',$number]";
}
print &piechart("pieedges","Types of edges",$edgedata);


# start table of networks
print ("<p>Here is a list of all networks:</p><table><tr><th>Work</th><th>XGMML</th><th>GraphML</th><th>JSON</th><th>Photo</th></tr>\n");
foreach $work (sort (keys %workid)) {
    print "<tr><td>".&link_to_network($workid{$work})."</td>\n".
	"<td>".&link_to_network_format($workid{$work},"xgmml")."</td>\n".
	"<td>".&link_to_network_format($workid{$work},"graphml")."</td>\n".
	"<td>".&link_to_network_format($workid{$work},"json")."</td>\n";
    if ($image_url{$workid{$work}} ne "") {
	print"<td>".&link_to_web($image_url{$workid{$work}},"image")."</td>\n";
    }
    print ("</tr>\n");
    
}
print ("</table>\n");