Notes about rulebased.py ############################### The modul rulebased.py is applied and tested in ucdresolve/bin/testrb.py Some Test cases: ================= Example: Field center decl for J2000 => pos.eq.dec;meta.main * the lexem J2000 (or other year) indicates a meta.SOMETHING-ucd. Meta-ucds doesn't come-up in the context though. * shortages like "decl" in the above example is not found in the corpus. To find declination-ucds it must be "declination". Example: Proper motion in RA => pos.pm;pos.eq.ra * the lexem "RA" is not in the corpus of ivoa-descriptions. It occurs only as an atom of an ivoa ucd word. Because this problem comes up quite often all ucd atoms were put in the corpus as tokens. CAVE: shuold be better only the last atoms of an ucd word Example: H selected default magnitude => phot.mag;em.IR.H * "em.IR.H" is not in the context, because the token "h" is lower case and the ucd atom "H" is upper case. Normalisation of the ucds? Example: limit or method flag on z (4) => meta.code.error * for this description all words starting with "meta.code" should be put to the hypotheses. With this system it is only expressable that if "meta.code" occurs in the ucd word context, the ucd word should be added. It might be better to depend the rule somehow more on the description or on the structure of the description #Quality flag on the classification (G1) => src.class The rules are not sufficient. For example: token t delivers ucd1, ucd2, ucd3 t in a description A is described by ucd1 t in a description B is described by ucd2 In the system it is not possible to select the right ucd for description A and B. Any of the three ucds had to be put to contex.hypotheses. That makes no sence. There are no hints which ucd needs to be selected from context.word. The rules should depend more on the phrases of the description and on their structure.