This file is indexed.

/usr/share/doc/libghc-swish-doc/html/Swish-GraphPartition.html is in libghc-swish-doc 0.9.1.7-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Swish.GraphPartition</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Swish-GraphPartition.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Swish-GraphPartition.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">swish-0.9.1.7: A semantic web toolkit.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(c) 2003, Graham Klyne, 2009 Vasili I Galchin, 2011, 2012 Douglas Burke</td></tr><tr><th>License</th><td>GPL V2</td></tr><tr><th>Maintainer</th><td>Douglas Burke</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>H98</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Swish.GraphPartition</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module contains functions for partitioning a graph into subgraphs
  that rooted from different subject nodes.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PartitionedGraph">PartitionedGraph</a> lb = <a href="#v:PartitionedGraph">PartitionedGraph</a> [<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb]</li><li class="src short"><a href="#v:getArcs">getArcs</a> :: <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb]</li><li class="src short"><a href="#v:getPartitions">getPartitions</a> :: <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb]</li><li class="src short"><span class="keyword">data</span> <a href="#t:GraphPartition">GraphPartition</a> lb<ul class="subs"><li>= <a href="#v:PartObj">PartObj</a> lb</li><li>| <a href="#v:PartSub">PartSub</a> lb (<a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (lb, <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb))</li></ul></li><li class="src short"><a href="#v:node">node</a> :: <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; lb</li><li class="src short"><a href="#v:toArcs">toArcs</a> :: <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb]</li><li class="src short"><a href="#v:partitionGraph">partitionGraph</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb] -&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb</li><li class="src short"><a href="#v:comparePartitions">comparePartitions</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb), <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb))]</li><li class="src short"><a href="#v:partitionShowP">partitionShowP</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a> -&gt; <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:PartitionedGraph" class="def">PartitionedGraph</a> lb <a href="src/Swish-GraphPartition.html#PartitionedGraph" class="link">Source</a></p><div class="doc"><p>Representation of a graph as a collection of (possibly nested)
  partitions.  Each node in the graph appears at least once as the
  root value of a <code><a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a></code> value:</p><ul><li>Nodes that are the subject of at least one statement appear as
    the first value of exactly one <code><a href="Swish-GraphPartition.html#v:PartSub">PartSub</a></code> constructor, and may
    also appear in any number of <code><a href="Swish-GraphPartition.html#v:PartObj">PartObj</a></code> constructors.</li><li>Nodes appearing only as objects of statements appear only in
    <code><a href="Swish-GraphPartition.html#v:PartObj">PartObj</a></code> constructors.</li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PartitionedGraph" class="def">PartitionedGraph</a> [<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:PartitionedGraph" class="caption collapser" onclick="toggleSection('i:PartitionedGraph')">Instances</p><div id="section.i:PartitionedGraph" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb)</span> <a href="src/Swish-GraphPartition.html#line-53" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Text-Show.html#t:Show">Show</a> (<a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb)</span> <a href="src/Swish-GraphPartition.html#line-53" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:getArcs" class="def">getArcs</a> :: <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb] <a href="src/Swish-GraphPartition.html#getArcs" class="link">Source</a></p><div class="doc"><p>Returns all the arcs in the partitioned graph.</p></div></div><div class="top"><p class="src"><a name="v:getPartitions" class="def">getPartitions</a> :: <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb] <a href="src/Swish-GraphPartition.html#getPartitions" class="link">Source</a></p><div class="doc"><p>Returns a list of partitions.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:GraphPartition" class="def">GraphPartition</a> lb <a href="src/Swish-GraphPartition.html#GraphPartition" class="link">Source</a></p><div class="doc"><p>Represent a partition of a graph by a node and (optional) contents.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PartObj" class="def">PartObj</a> lb</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PartSub" class="def">PartSub</a> lb (<a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (lb, <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb))</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:GraphPartition" class="caption collapser" onclick="toggleSection('i:GraphPartition')">Instances</p><div id="section.i:GraphPartition" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb)</span> <a href="src/Swish-GraphPartition.html#line-86" class="link">Source</a></td><td class="doc"><p>Equality is based on total structural equivalence
 rather than graph equality.</p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb)</span> <a href="src/Swish-GraphPartition.html#line-92" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Text-Show.html#t:Show">Show</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb)</span> <a href="src/Swish-GraphPartition.html#line-98" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:node" class="def">node</a> :: <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; lb <a href="src/Swish-GraphPartition.html#node" class="link">Source</a></p><div class="doc"><p>Returns the node for the partition.</p></div></div><div class="top"><p class="src"><a name="v:toArcs" class="def">toArcs</a> :: <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb] <a href="src/Swish-GraphPartition.html#toArcs" class="link">Source</a></p><div class="doc"><p>Creates a list of arcs from the partition. The empty
 list is returned for <code><a href="Swish-GraphPartition.html#v:PartObj">PartObj</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:partitionGraph" class="def">partitionGraph</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; [<a href="Swish-GraphClass.html#t:Arc">Arc</a> lb] -&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb <a href="src/Swish-GraphPartition.html#partitionGraph" class="link">Source</a></p><div class="doc"><p>Turning a partitioned graph into a flat graph is easy.
  The interesting challenge is to turn a flat graph into a
  partitioned graph that is more useful for certain purposes.
  Currently, I'm interested in:</p><ol><li>isolating differences between graphs</li><li>pretty-printing graphs</li></ol><p>For (1), the goal is to separate subgraphs that are known
  to be equivalent from subgraphs that are known to be different,
  such that: </p><ul><li>different sub-graphs are minimized,</li><li>different
  sub-graphs are placed into 1:1 correspondence (possibly with null
  subgraphs), and</li><li>only deterministic matching decisions are made.</li></ul><p>For (2), the goal is to decide when a subgraph is to be treated
  as nested in another partition, or treated as a new top-level partition.
  If a subgraph is referenced by exactly one graph partition, it should
  be nested in that partition, otherwise it should be a new top-level
  partition.</p><p>Strategy.  Examining just subject and object nodes:</p><ul><li>all non-blank subject nodes are the root of a top-level partition</li><li>blank subject nodes that are not the object of exactly one statement
     are the root of a top-level partition.</li><li>blank nodes referenced as the object of exactly 1 statement
     of an existing partition are the root of a sub-partition of the
     refering partition.</li><li>what remain are circular chains of blank nodes not referenced
     elsewhere:  for each such chain, pick a root node arbitrarily.</li></ul></div></div><div class="top"><p class="src"><a name="v:comparePartitions" class="def">comparePartitions</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; <a href="Swish-GraphPartition.html#t:PartitionedGraph">PartitionedGraph</a> lb -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb), <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb))] <a href="src/Swish-GraphPartition.html#comparePartitions" class="link">Source</a></p><div class="doc"><p>Create a list of pairs of corresponding Partitions that
  are unequal.</p></div></div><div class="top"><p class="src"><a name="v:partitionShowP" class="def">partitionShowP</a> :: <a href="Swish-GraphClass.html#t:Label">Label</a> lb =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a> -&gt; <a href="Swish-GraphPartition.html#t:GraphPartition">GraphPartition</a> lb -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a> <a href="src/Swish-GraphPartition.html#partitionShowP" class="link">Source</a></p><div class="doc"><p>Convert a partition into a string with a leading separator string.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>