Skip to content

Latest commit

 

History

History
179 lines (122 loc) · 8.83 KB

CONTRIBUTING.rst

File metadata and controls

179 lines (122 loc) · 8.83 KB

How to Contribute to Gwadoc

Thank you for contributing to the Global WordNet Association Documentation!

The documentation primarily uses reStructuredText (ReST). This means to get started contributing to the documentation a fair knowledge of Python, ReST and some knowledge of linguistics will be required. Here is a quick guide to help you get started with ReST.

Creating Issues

Feel free to raise issues if you want to request for a new feature to be added to the documentation or make modifications to existing features.

Submitting Pull Request (PR)

We're happy to receive pull requests to the master branch

If you're not sure how to submit pull requests, here are a few resources:

Please keep pull requests minimal and specific to the issue they are addressing, and give them a clear description. Those containing irrelevant files (such as generated HTML files) or changes may be rejected.

Documentation Convention

Our documentation project setup can be found in the README.

Most of our contributions happen in the doc_{LANG}.py file and we generate the html files from this automatically. For example, for English, you would add information to doc_en.py.

When writing please consider your readers, we would like the documentation reader friendly for beginners as well as useful for experts.

How to add documentation for a new relation

Documentation for a new relation should be done after discussing the relation with the documentation group.

  • Add an issue suggesting what should be added and the rationale
  • when a consensus has been reached to add it - Add the relations to RELATIONS in inventories.py - Add basic information about the relations to doc_basic.py - Add documentation to (at least) doc_en.py

How to add documentation for a new language

Documentation for a new language can be done by:

  • Add the language to LANGUAGES in inventories.py
  • Create a new language file with scripts\addlang.py
  • Currently you have to add the language and wordnet into the script by hand
  • Add translated information to the file doc_{LANG}.py
  • Start off with relation names, short examples and short definitions for the constitutive relations
  • When the core information is added, add the language to the build script .github/workflows/build.py

Relation Style Guide

  • Relation Name : The name of the relation
  • Short Definition : The short definition is a brief introduction of the relation, usually a single sentence.
    1. Use concept A / concept B (A / B) for reference, DO NOT use concept X / concept Y (X /y).
    2. Use “A is … of B” as the sentence pattern if possible.
  • Short Example : The short example just shows the examples links to lexicon. At least 2 examples. If there is no example in the docs, go to the docs/pdf folder for related resources or wiki to find more.

Note

The Short Definition and Example should be understandable by non-experts. They are used to give a quick reminder of what the relation means, for examples in a summary of relations or as help text in a mouseover.

  • Apply to : Apply to describes the type this relation links to, it has 3 values:
    • synset_synset
    • sense_synset
    • sense_sense
  • Symbol : It describes what symbol the user can use to represent this relation.
  • Reverse Relation : Some relations have one counterpart as a mutually reversed relation, if this relation do not have one, this field will be “no reverse relation defined”.
  • Definition : Definition describe the full introduction of the relation.
  1. Use concept A / concept B (A / B) for reference, DO NOT use concept X / concept Y (X / y).
  2. Use “A relation between two concepts where...” as the sentence pattern if possible.

Note

The full Definition and should give definitive information for users of the wordnet a should be understandable by non-experts. They are used to give a quick reminder of what the relation means, for examples in a summary of relations or as help text in a mouseover.

  • Example : Example shows how words are linked in this relation, and each word will also be linked to the lexicon so the user can check the details of that word directly.
  1. We should have at least 2 examples.
  2. Examples should be linked to entries in the OMW. You can go to one of these websites to search for the right sense of an example word:
relations.holonym.exe.en = """
* `eye <ILIURL/64868>`_ has part-holonym `face <ILIURL/87210>`_
* `planet <ILIURL/85986>`_ has member-holonym `solar system <ILIURL/86215>`_
* `kibibyte <ILIURL/108305>`_ has part-holonym `mebibyte <ILIURL/108309>`_
"""


This will be expanded out to something like
``<a href=' https://lr.soh.ntu.edu.sg/omw/ili/concepts/64868'>eye</a>``
  • Test : The Test provides methods to justify whether a paair of expressions can fit this relation or not.

Note

The Test should allow someone building a wordnet to decide if this relation is appropriate for linking two synsets or senses.

  • XML Sample : XML sample provides the sample code of relations.
  • Comment : Comment provides some additional info the user may need to know when using Wordnet.

Other name in specific Project

The relations may have different names in different projects, and this is a summary of the names referring to the particular relation, we need to review all the names in different projects to ensure the current name is documented.

Name Description
Name in Princeton WordNet Go to Princeton Wordnet Website and the Princeton Wordnet in OMW to check whether the relation name is correct.
Princeton WordNet Pointer Go to Princeton Wordnet Website and the Princeton Wordnet in OMW to check whether the relation name is correct.
Name in Euro WordNet Go to EuroWordnet general document and the EuroWordnet in OMW to check whether the relation name is correct.
Name in PlWordNet Go to `PlWordNet Relation type mapping`_ to check whether the name is correct.
PERL WordNet-QueryData Module Go to PERL WordNet-QueryData Module
Interlingual Index Node Go to Interlingual Index Node to check whether the node number is correct.

Happy Contributing ! ❤️