sekruse / metanome-cli

Run Metanome algorithms from the command line
http://www.metanome.de/
Apache License 2.0
7 stars 6 forks source link

How to run HyUCC algorithm? #18

Closed faisal-ksolves closed 1 year ago

faisal-ksolves commented 1 year ago

i have both jars in my directory, I just want to test how HyUCC algorithm work how to execute it on WDC_age.csv folder structure::- . ├── HyUCC-1.2-SNAPSHOT.jar ├── metanome-cli-1.1.0.jar └── WDC_age.csv

now i want to execute it to check its output. how can i execute it.

sekruse commented 1 year ago

Hi – wasn't this issue solved in this comment as follows:

java -cp metanome-cli-1.1.0.jar:HyUCC-1.2-SNAPSHOT.jar de.metanome.cli.App --algorithm de.metanome.algorithms.hyucc.HyUCC --file-key INPUT_GENERATOR --files WDC_age.csv
faisal-ksolves commented 1 year ago

@sekruse thanks for your response, actually the problem is in the result, when i execute the command given above the result is in json format ::- {"type":"UniqueColumnCombination","columnCombination":{"columnIdentifiers":[{"tableIdentifier":"WDC_age.csv","columnIdentifier":"column1"}]}} and if i execute same algorithm with same dataset on web tool version of metanome the result is different ::-

# TABLES
WDC_age.csv 1
# COLUMN
1.RotationPeriod    2
1.RevolutionPeriod  3
1.Planet    1
# RESULTS
1
2
3

can you explain the reason please ?

faisal-ksolves commented 1 year ago

@sekruse i need one more help from you, can you share location of a file which is responsible for reading csv and writing output, is that metanome-cli how is reading dataset file or is it algorithm what is the flow?

sekruse commented 1 year ago

It seems to me that you are running the algorithm with different configurations from the CLI and the web version. According to your example, you should at least set --header.

The file reading is actually not handled by metanome-cli or the algorithm, but by Metanome itself, see here. metanome-cli is just a wrapper around the Metanome backend, so you won't find too much code in this repository.

faisal-ksolves commented 1 year ago

@sekruse okey, so App.java just taking the input parameters and handed over to metanome backend and than backend read file and deliver to algorithm than algorithm perform their operation and handover the result to metanome backend via metanome-cli module.

is that the way how it work?

sekruse commented 1 year ago

In general yes.

faisal-ksolves commented 1 year ago

@sekruse thank you very much for your help :)