Difference between revisions of "OmegaWiki"

From Apertium
Jump to navigation Jump to search
Line 41: Line 41:


==Retrieving a list of lemmata that match a POS tag==
==Retrieving a list of lemmata that match a POS tag==

First retrive the option_id of the POS tag from the <code>uw_option_attribute_options</code> table:


<pre>
<pre>
mysql> select * from uw_option_attribute_values where option_id = '409110';
mysql> select option_id,attribute_id,option_mid,language_id
-> from uw_option_attribute_options
-> where option_mid = '6100' and language_id = '153';
+-----------+--------------+------------+-------------+
| option_id | attribute_id | option_mid | language_id |
+-----------+--------------+------------+-------------+
| 435751 | 409106 | 6100 | 153 |
+-----------+--------------+------------+-------------+
</pre>

<pre>
mysql> select * from uw_option_attribute_values where option_id = '435751';

</pre>
</pre>

Revision as of 11:36, 30 July 2007

The OmegaWiki database layout is pretty dreadful, hopefully this will make things slightly easier for anyone brave enough to look near it.

Retrieving a list of POS tags

First find the language which you would like to retrieve the POS tags for:

mysql> select * from language_names where language_name = 'Welsh';
+-------------+------------------+---------------+
| language_id | name_language_id | language_name |
+-------------+------------------+---------------+
|         153 |               85 | Welsh         | 
|         153 |               89 | Welsh         | 
+-------------+------------------+---------------+
2 rows in set (0.00 sec)

So the language_id is '153', we'll need to use this later on.

Now we need to retrieve the list of parts of speech, to do this we need 3 tables:

mysql> select option_id,attribute_id,option_mid,uw_option_attribute_options.language_id,uw_defined_meaning.expression_id,spelling 
    -> from uw_option_attribute_options,uw_defined_meaning,uw_expression_ns
    -> where attribute_id = '409106' and uw_option_attribute_options.language_id = '153' and 
    -> uw_defined_meaning.defined_meaning_id = option_mid and uw_expression_ns.expression_id =
    -> uw_defined_meaning.expression_id;
+-----------+--------------+------------+-------------+---------------+-----------+
| option_id | attribute_id | option_mid | language_id | expression_id | spelling  |
+-----------+--------------+------------+-------------+---------------+-----------+
|    435748 |       409106 |       5612 |         153 |        121924 | noun      | 
|    435751 |       409106 |       6100 |         153 |        124600 | verb      | 
|    435753 |       409106 |       6102 |         153 |        124610 | adjective | 
+-----------+--------------+------------+-------------+---------------+-----------+
3 rows in set (0.00 sec)
  • uw_expression_ns.spelling is the way the word is spelt.
  • uw_defined_meaning.defined_meaning_id is the "defined meaning" of the part of speech, e.g. it describes what a "verb" is, or an "adjective".
  • uw_option_attribute_options.attribute_id defines that this "defined meaning" is a "part of speech" option.

Retrieving a list of lemmata that match a POS tag

First retrive the option_id of the POS tag from the uw_option_attribute_options table:

mysql> select option_id,attribute_id,option_mid,language_id 
    -> from uw_option_attribute_options 
    -> where option_mid = '6100' and language_id = '153';
+-----------+--------------+------------+-------------+
| option_id | attribute_id | option_mid | language_id |
+-----------+--------------+------------+-------------+
|    435751 |       409106 |       6100 |         153 | 
+-----------+--------------+------------+-------------+
mysql> select * from uw_option_attribute_values where option_id = '435751';