Skip to content
petermr edited this page Aug 14, 2020 · 1 revision

Strategy

When reporting problems with the ami or amidict command systems please try to find the command where the problem occurs. In a sequence:

amidict command1
ami command2
ami command3

remember that ami currently saves all output on disk between commands. , e.g.

amidict <command1> // creates output1 files
ami <command2> // (usually) reads output1 files and creates output2
ami <command3> // (usually) reads output2 and creates output3

If you think the problem is "ami search doesn't work after amidict create on Wikidata", then isolate the problem as follows:

step1

amidict <command1>

inspect the dictionary created. Can you validate it (use amidict display --validate).

  • step1.ok If it's a valid dictionary then the problem is not with amidict.
  • step1.fail If it's invalid, then the problem is with amidict

step1.ok

Take copies of all output files and proceed to step2.

step1.fail

File an Issue that reports:

  • what files (if any) you started with (INPUT). Make sure they are committed to Github. Keep the number and size AS SMALL AS POSSIBLE.
  • what command you used. It should not refer to any local files (except for INPUT).
  • what happened. Record console output, and files created. If necessary commit the files to Github.
  • what you think is wrong.
  • (optional) what you think the cause might be.

step2

Run step2 by itself with files from step1.

step2.ok

There is no apparent problem. This sometimes happens because files got muddled somewhere.

step2.fail

Try to reduce the size of the input files as much as possible (maybe to 1, 20, 10 CTrees) and maybe 10 entries in a dictionary. This will find errors that are general - i.e. fail on every CTree or Entry.

test sets

I have created small test sets in https://github.com/petermr/ami3/tree/master/src/test/resources/org/contentmine/ami (zika1, zika2, zika10, oil5, battery10, etc.). These are used a lot in tests so they can be regarded as "valid". If your search fails when using one of these then it's probably the search commands, not the data

general hints on reporting bugs

https://stackoverflow.com/help/minimal-reproducible-example shows how to create "reprex" , a minimal reproducible example of a failure. It's aimed at code, but the principles apply generally.

Clone this wiki locally