COMA++: A System for Flexible Combination of Match Algorithms
IMPORTANT:
USE THE PROTOTYPE ON YOUR OWN RISK. THERE ARE NO GUARANTEES AND NO SUPPORT SERVICES! DISTRIBUTION OF THE SOFTWARE ONLY FOR ECUCATIONAL, RESEARCH AND NON-COMMERCIAL PURPOSES.
IF YOU INTEND TO USE (RESULTS OF) THE PROTOTYPE FOR ANY KIND OF PUBLICATION YOU HAVE TO
- INFORM US IN ADVANCE (write a mail including detailed information to massmann@informatik.uni-leipzig.de)
- CITE OUR COMA AND COMA++ PUBLICATIONS
- SPECIFY IN YOUR PUBLICATION THE COMA++ CONFIGURATION YOU USED
********* If you have a problem to open a file or the link is broken please write a mail to Sabine (massmann@informatik.uni-leipzig.de). *********
Installation instructions
Fill in the Request for download . If we approve your request you will be send the download link.Download and unpack the zip archive [coma_2005b.zip (6.34 MB)] in an empty directory. The archive includes the page you are reading.
The installation is relatively easy. First install Java and then MySQL. Make sure that access is available for user '' from localhost. This can be done at the mysql prompt using the following command:
mysql> GRANT ALL PRIVILEGES ON *.* TO ''@'localhost' WITH GRANT OPTION
Further, create a new database comatest (for the older version: GenMatcher) using the following command:
mysql> CREATE DATABASE comatest;
Now create a new directory in the file system (for example, COMA++). Unpack the zip file under this directory. Start COMA++ with the batch file coma++.bat under the unpacked directory. This file sets a new CLASSPATH environment variable including all required jar files. The main COMA++ GUI is started by the command:
java -Xmx500M comagui/Main
In particular, it sets the maximal amount of memory, which can be allocated for COMA++, to 500MB. Consider increasing this value if you experience OutOfMemoryException (e.g., when matching large schemas). Similar batch files can be easily created to run under Linux or other Unix operating systems.
Directory Structure
Unpacking the zip file yields the following directory structure:- auxiliary: containing the files that list abbreviations and synonyms the prototype uses
- help: containing the help files
- icons: containing the icons required by the GUI
- lib: containing the jar files required by COMA++, also including the main binary of COMA++, namely coma++.jar
- Parsed: directory for files generated during parsing and importing schemas
- Sources: containing examples schemas
- Tmp: directory for temporary files, e.g. for serializing similarity cubes and matrices in cases of main memory shortage
- _coma++.txt: editable properties of COMA++
- coma++.bat: the batch file for starting COMA++ GUI
- coma_index.html: contains a version of http://dbs.uni-leipzig.de/de/Research/coma_index.html
- help_index.html: is the sitemap of the help files (that can also be viewed in the COMA++ GUI)
- userMatcher.xml: example properties for a user programmed match algorithm
Further Information
These video files (zip file, 2.96 MB) give a demonstration of the COMA++ Protoype. More information about the COMA++ prototype and the GUI contains the Readme.pdf which is included in the zip archive.Revision history
FAQ
- The creation of the table parse_link was aborted. The error messages is: "Error Code : 1071 Specified key was too long; max key length is 1024 bytes".
The reason is your character set. Please be sure to use latin. Take a look at Charset Server. - Trying to run the bat-file gives the error message: "java.lang.UnsupportedClassVersionError: comagui/Main (Unsupported major.minor version 49.0)".
The binary is compiled with Java 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05). Please update your java version and try it again. - In the case that we do have a schema - say a relational schema - when we
import into COMA++ we seem to not be able to identify primary keys and foreign
keys. This is a disasvantage. Is there some way to retain and exploit this
important schema knowledge?
In the current version of the ODBC/Relational-Parser, foreign keys are already captured and represented as structural relationships like containment relationships so that they can be uniformly exploited by means of structure matchers (Children, Leaves, ...). Please check if you could see the foreign keys shown in the gui in this way. Primary keys are not yet supported yet, sorry. - Is it possible to use a database with a different name or a different user/password?
In the June version this is possible. Please use the following lines of the file _coma++.txt:
comaUser=
comaPwd=
comaUrl=jdbc:mysql://localhost/comatest
and change it for example to
comaUser=me
comaPwd=mypassword
comaUrl=jdbc:mysql://localhost/mydb - Where can I download the test schemas that have been used for testing and evaluating COMA(++)?
Here (1.34 MB) you can download the following test schemas: PO (Apertum, CIDX, Excel, Noris, Paragon), OpenTrans, BMECat and Xcbl. - I tried to download COMA but I can not get a complete download.
Write a mail to Sabine (massmann@informatik.uni-leipzig.de) and explain the problem. We will send you links to the splitted zip file. You have to download the four parts and extract them together (using Filzip). - The dialogs to choose a file open up very slow. What can I do?
This is a known Java bug (http://bugs.sun.com/top25_bugs.do). In the 7th version this bug should be fixed. For the moment the workaround is to disable the zip support via "regsvr32 /u %windir%\system32\zipfldr.dll". (To enable it - if you want it back: "regsvr32 %windir%\system32\zipfldr.dll".) - COMA++ has problems to connect to the database and/or with the user account.
1) Change with the command line into the folder: [...]\mysql\bin
2) Please start mysql (executingmysqlfrom the command line being in the mysql-folder)
3) Executeuse comatest;
- if the answer is "Database changed" the database exists; otherwise please create it.
4) Create a new user with a password (CREATE USER 'MyName'@'localhost' IDENTIFIED BY 'MyPassword'.
5) Grant this user access to all databases:GRANT ALL PRIVILEGES ON *.* TO 'MyName'@'localhost' WITH GRANT OPTION
6) Executeexitand then executemysql -uMyName -pMyPassword- if the answer is "Welcome..." the user exists with this name and password, otherwise please create it
7) executeexitand then executemysql -uMyName -pMyPassword comatest
- if the answer is "Welcome..." the user exists with this name and password and has access to the database - COMA++ should be executed properly! otherwise please grant access - How do I import an database schema with ODBC?
I use MySQL ODBC 3.51 Driver and under Windows it works with the following steps:- You have to create a DSN - similar to the following article (I created a user DSN and not system DSN) http://support.microsoft.com/?scid=kb%3Ben-us%3B305599&x=18&y=11
- Import DB (ODBC) using the name of the DSN (=entry), the username (user), password and give the name of the schema (you can either select the chosen database from step 1 or write something - it will be the name of schema for the e.g., the match process). The user needs of course the permission to read the database.
- Then all tables with their attributes and datatypes are imported.
Last modified: July 15, 2008

