<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://www.kde.cs.uni-kassel.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Code%3ATrias</id>
		<title>Code:Trias - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://www.kde.cs.uni-kassel.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Code%3ATrias"/>
		<link rel="alternate" type="text/html" href="https://www.kde.cs.uni-kassel.de/mediawiki/index.php?title=Code:Trias&amp;action=history"/>
		<updated>2026-04-22T06:47:52Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in Wiki</subtitle>
		<generator>MediaWiki 1.27.3</generator>

	<entry>
		<id>https://www.kde.cs.uni-kassel.de/mediawiki/index.php?title=Code:Trias&amp;diff=1542&amp;oldid=prev</id>
		<title>Gst: /* Users */</title>
		<link rel="alternate" type="text/html" href="https://www.kde.cs.uni-kassel.de/mediawiki/index.php?title=Code:Trias&amp;diff=1542&amp;oldid=prev"/>
				<updated>2008-07-07T12:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Users&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Trias is an algorithm for computing triadic concepts which fulfill minimal support constraints. It has first been described in &lt;br /&gt;
[http://www.bibsonomy.org/bibtex/2797d40e05a48f4343d7695dac87b5870/jaeschke this paper]. &lt;br /&gt;
&lt;br /&gt;
There is a GForge project where the source code is hosted:&lt;br /&gt;
* [https://gforge.cs.uni-kassel.de/projects/trias/ project homepage]&lt;br /&gt;
* [https://gforge.cs.uni-kassel.de/frs/?group_id=145 source code]&lt;br /&gt;
* [https://gforge.cs.uni-kassel.de/tracker/?group_id=145 (bug) trackers]&lt;br /&gt;
* [https://gforge.cs.uni-kassel.de/scm/?group_id=145 access to the CVS]&lt;br /&gt;
* [https://gforge.cs.uni-kassel.de/frs/?group_id=145 file releases] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please cite the algorithm using this reference&lt;br /&gt;
(in [http://www.bibsonomy.org/bibtex/2797d40e05a48f4343d7695dac87b5870/jaeschke BibSonomy], &lt;br /&gt;
in the [http://portal.acm.org/citation.cfm?id=1193256 ACM digital library]):&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #f9f9f9; padding: .5em; width: 50em;&amp;quot;&amp;gt;&lt;br /&gt;
Robert Jäschke, Andreas Hotho, Christoph Schmitz, Bernhard Ganter, and Gerd&lt;br /&gt;
Stumme. Trias - An Algorithm for Mining Iceberg Tri-Lattices. In &amp;lt;em&amp;gt;ICDM ’06: Proceedings&lt;br /&gt;
of the Sixth International Conference on Data Mining&amp;lt;/em&amp;gt;, pages 907–911, Washington,&lt;br /&gt;
DC, USA, 2006. IEEE Computer Society.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Other papers related to Trias can be found on myBibSonomy tagged with [http://www.bibsonomy.org/user/jaeschke/trias trias].&lt;br /&gt;
&lt;br /&gt;
==Users==&lt;br /&gt;
Currently, there are two several to run/configure Trias: &lt;br /&gt;
* via [[#Command line arguments|command line arguments]],&lt;br /&gt;
* via a [[#trias.properties|trias.properties]] file, or&lt;br /&gt;
* via a [[#SOAP webapp|SOAP webapp]].&lt;br /&gt;
&lt;br /&gt;
===Input file format===&lt;br /&gt;
&lt;br /&gt;
By default, Trias expects as input an ASCII text file containing one triple per line. &lt;br /&gt;
Each triple consists of three numbers, separated by blanks. The first number represents &lt;br /&gt;
the item in the first dimension, the second number the item in the second dimension and &lt;br /&gt;
the third number the item in the third dimension. An example could be this file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 3 2&lt;br /&gt;
1 1 1&lt;br /&gt;
1 2 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here, the first line is a hyperedge between the items ''1'', ''2'', and ''3''.&lt;br /&gt;
&lt;br /&gt;
It is important to note that the items in each dimension must be numbered consecutively, &lt;br /&gt;
i.e., without holes, and beginning with 1. If that is not the case, you have to activate &lt;br /&gt;
the ''HOLES'' option. &lt;br /&gt;
&lt;br /&gt;
If you need other input formats, you can write a Java class which implements the &lt;br /&gt;
&amp;lt;tt&amp;gt;de.unikassel.cs.kde.trias.io.TriasReader&amp;lt;/tt&amp;gt; interface. For more information&lt;br /&gt;
on this, have a look at the [[#Developers|developers section]].&lt;br /&gt;
&lt;br /&gt;
===Output file format===&lt;br /&gt;
&lt;br /&gt;
By default, Trias writes results into an ASCII file containing one tri-concept per line.&lt;br /&gt;
The tri-concept (A,B,C) = ({1}, {3}, {2}) is written in the first line of the following&lt;br /&gt;
example file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 1 1 1 0 0 0 0 0 0 0   A = {1, },  B = {3, },  C = {2, }&lt;br /&gt;
1 1 1 1 0 0 0 0 0 0 0   A = {1, },  B = {2, },  C = {3, }&lt;br /&gt;
1 1 1 1 0 0 0 0 0 0 0   A = {1, },  B = {1, },  C = {1, }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The numbers preceding the concepts are some scores about their size (''volume'') and&lt;br /&gt;
can be used to grep/sort concepts of certain sizes.&lt;br /&gt;
&lt;br /&gt;
If you need a custom output format, you can easily implement &lt;br /&gt;
the &amp;lt;tt&amp;gt;de.unikassel.cs.kde.trias.io&amp;lt;/tt&amp;gt; interface to write one.&lt;br /&gt;
For more information on this, have a look at the [[#Developers|developers section]].&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
====Command line arguments====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRIAS reads facts from STDIN and writes tri-concepts to STDOUT&lt;br /&gt;
usage:&lt;br /&gt;
java de.unikassel.cs.kde.trias.Trias X A B C dim0minsup dim1minsup dim2minsup HOLES|NOHOLES&lt;br /&gt;
 neccessary parameters are:&lt;br /&gt;
   X ... number of triples&lt;br /&gt;
   A ... number of items in dim0&lt;br /&gt;
   B ... number of items in dim1&lt;br /&gt;
   C ... number of items in dim2&lt;br /&gt;
   dim0minsup, dim1minsup, dim2minsup ... minimal support (absolut values!) for dim0, dim1, dim2&lt;br /&gt;
   HOLES|NOHOLES ...  HOLES = columns contain holes (i.e., numbers are missing), NOHOLES = opposite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====trias.properties====&lt;br /&gt;
&lt;br /&gt;
You can use Java properties files to configure Trias. A simple example looks like that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
trias.input = /tmp/trias/test&lt;br /&gt;
trias.holes = false&lt;br /&gt;
trias.numberOfTriples = 3&lt;br /&gt;
trias.numberOfItemsPerDimension.0 = 1&lt;br /&gt;
trias.numberOfItemsPerDimension.1 = 3&lt;br /&gt;
trias.numberOfItemsPerDimension.2 = 3&lt;br /&gt;
trias.minSupportPerDimension.0 = 1&lt;br /&gt;
trias.minSupportPerDimension.1 = 1&lt;br /&gt;
trias.minSupportPerDimension.2 = 1&lt;br /&gt;
trias.output = /tmp/trias/test.tri&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The syntax is pretty self-explanatory. Nevertheless, here the help output of the &amp;lt;tt&amp;gt;TriasPropertiesConfigurator&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The following properties are used for configuration:&lt;br /&gt;
&lt;br /&gt;
trias.numberOfTriples ... number of triples&lt;br /&gt;
trias.numberOfItemsPerDimension.0 ... number of items in dim0&lt;br /&gt;
trias.numberOfItemsPerDimension.1 ... number of items in dim1&lt;br /&gt;
trias.numberOfItemsPerDimension.2 ... number of items in dim2&lt;br /&gt;
trias.input ... path to output file (default: STDIN)&lt;br /&gt;
trias.output ... path to output file (default: STDOUT)&lt;br /&gt;
trias.outputScores ... set to 'true', if scores for concepts should be printed (default: false)&lt;br /&gt;
trias.holes ... set to 'true', if the items are not numbered consecutively (default: false)&lt;br /&gt;
trias.delimiter ... a Java regular expression depicting, how the items of a triple are separated&lt;br /&gt;
trias.minSupportPerDimension.0 ... minimal number of items of dim0 to be in each tri-concept&lt;br /&gt;
trias.minSupportPerDimension.1 ... minimal number of items of dim1 to be in each tri-concept&lt;br /&gt;
trias.minSupportPerDimension.2 ... minimal number of items of dim2 to be in each tri-concept&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, using properties files, you can also change the item delimiter.&lt;br /&gt;
&lt;br /&gt;
====SOAP webapp====&lt;br /&gt;
&lt;br /&gt;
The module [https://gforge.cs.uni-kassel.de/frs/?group_id=145 trias-webapp] contains &lt;br /&gt;
a webapp which can be deployed on a servlet container like [http://tomcat.apache.org/ Apache Tomcat]&lt;br /&gt;
and accessed over HTTP via [http://www.w3.org/TR/soap/ SOAP].&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
&lt;br /&gt;
For writing custom input, output, or configuration mechanisms, there exist three &lt;br /&gt;
interfaces you can implement.&lt;br /&gt;
&lt;br /&gt;
===TriasReader===&lt;br /&gt;
&lt;br /&gt;
The basic interface to deliver input to Trias. &lt;br /&gt;
The method &amp;lt;tt&amp;gt;getItemList&amp;lt;/tt&amp;gt; shall return an array of integers. &lt;br /&gt;
The first dimension contains the triples, the second dimension represents &lt;br /&gt;
the triples by a four dimensional array whose fourth dimension is empty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public interface TriasReader {&lt;br /&gt;
	public int[][] getItemlist () throws NumberFormatException, IOException;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Implementations====&lt;br /&gt;
&lt;br /&gt;
=====TriasStandardReader=====&lt;br /&gt;
&lt;br /&gt;
Default reader which expects one triple per line with the items of each triple being&lt;br /&gt;
separated by the &amp;lt;tt&amp;gt;delimiter&amp;lt;/tt&amp;gt; given in the constructor. It is neccessary, to &lt;br /&gt;
provide the number of triples beforehand. Each triple consists of three items, &lt;br /&gt;
represented by numbers. The items in each dimension must be numbered consecutively,&lt;br /&gt;
beginning with 1.&lt;br /&gt;
&lt;br /&gt;
The items in each dimensions &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public TriasStandardReader(int numberOfTriples, final String delimiter)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====TriasHoleReader=====&lt;br /&gt;
&lt;br /&gt;
Similiar to the TriasStandardReader, this TriasReader allows the items to &lt;br /&gt;
be non-consecutively numbered. Output must be written with the TriasHoleWriter &lt;br /&gt;
using the map retrieved by &amp;lt;tt&amp;gt;public HashMap&amp;lt;Integer, Integer&amp;gt;[] getInverseMapping()&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===TriasWriter===&lt;br /&gt;
&lt;br /&gt;
The TriasWriter's is called by Trias to write the resulting concepts during computation.&lt;br /&gt;
This is done by a call to the &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public interface TriasWriter {&lt;br /&gt;
	public void write (final int[][] concept) throws IOException;&lt;br /&gt;
	public void close() throws IOException;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Implementations====&lt;br /&gt;
&lt;br /&gt;
=====TriasStandardWriter=====&lt;br /&gt;
&lt;br /&gt;
=====TriasHoleWriter=====&lt;br /&gt;
&lt;br /&gt;
=====TriasStringWriter=====&lt;br /&gt;
&lt;br /&gt;
===TriasConfigurator===&lt;br /&gt;
&lt;br /&gt;
====Implementations====&lt;br /&gt;
&lt;br /&gt;
=====TriasCommandLineArgumentConfigurator=====&lt;br /&gt;
&lt;br /&gt;
=====TriasPropertiesConfigurator=====&lt;br /&gt;
&lt;br /&gt;
=====TriasJavaConfigurator=====&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Trias is licensed unter [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU General Public License version 2].&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Copyright 2006-2008 Robert Jäschke&lt;br /&gt;
&lt;br /&gt;
Trias is free software; you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
Trias is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with Trias; if not, write to the Free Software&lt;br /&gt;
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gst</name></author>	</entry>

	</feed>