Lexonomy is a free tool for writing and publishing dictionaries and other dictionary-like things. Lexonomy runs in your web browser and all data is stored on the server, so you don't have to install anything on your computer. This page will give you a brief introduction to Lexonomy, showing you how to create a simple dictionary and how to publish it on the web.
First of all, you need to sign up for a Lexonomy account. Go here to find out how. Once you have an account you can log in by clicking on anonymous user in the top-right corner.
When you're logged in, the Lexonomy home page has a section titled My datasets. That section is empty at first but there is a link to create a new dataset.
Don't be shy about creating a new dataset, you will always be able to delete it later and you can create as many as you want. Also, your dataset will not be publicly visible until you decide you want it to be. If this is your first time doing this, it is recommended that you select a template in the drop-down list, such as simple monolingual dictionary.
Voilà, your dataset is ready! Click the URL to go to its homepage.
Click the Edit link on your dataset's homepage and you will be taken to Lexonomy's editing interface. This is where you create and edit entries.
There is a list of entries on the left-hand side. If you had selected a template while creating your dataset, you will see one or two sample entries here that have been created for you automatically. You can delete the sample entries if you want, and you can create as many new entries as you want. There is no upper limit to the number of entries your dataset can contain. But for now, click one of the sample entries to see it displayed.
What you're looking at here is a pretty-printed rendering of the entry. This is what it will look like if you decide to make your dataset public later. To edit the entry, click the edit button at the top.
Now it gets interesting! What you have here is the underlying structure of the entry, with things like headwords and senses and parts of speech marked up explicitly with XML (Extensible Markup Language). You don't need to be an XML expert to use Lexonomy, but you do need to understand that every entry in Lexonomy is a small XML document which consists of elements. Each element has a name such as
headword and consists of an opening tag such as
<headword>, a closing tag such as
</headword>, and text or other elements between them. The tags are there to tell us what the various pieces of text mean. You can click on any piece of text between tags and a little textbox will appear allowing you to change it.
Sometimes, when you click on a piece of text between tags, you will be given a choice from a list instead of a free-form textbox. This is because Lexonomy knows what is supposed to go inside each element and acts accordingly.
If you do something Lexonomy doesn't like, such as leaving the text inside an element blank, Lexonomy will tell you by displaying a little warning triangle. You can click the warning triangle to read a description of the error.
Besides clicking on text, you can click on the element names themselves. A menu will come up listing all the actions you can perform on that element. This is how you add new examples to senses (more accurately: new
example elements inside
sense elements) and so on.
Notice how Lexonomy always only offers you choices that "make sense": it lets you add new examples inside senses but not inside other elements, and so on. This is because, again, Lexonomy knows what an entry is supposed to be structured like and makes sure the structure is always adhered to. This may sound limiting but it isn't, it promotes consistency: all your entries will be guaranteed to have the same structure. And besides, you can decide yourself what the structure is supposed to be. That's what we will get to next, so keep on reading.
Click the Configure link and Lexonomy will take you to its configuration interface. This is where you can set up various things that affect the entire dataset. One of the things you can change is the dataset's title: simply click on it and a textbox will appear.
One thing you have control over is who has access to the dataset and who can make changes there, beside yourself. You will see your own e-mail address listed there under
user. This means that you have access to this dataset. To add more users, click on
dataset and then select Add new
user. A new
user element will appear and you need to type the user's e-mail address by clicking on the blank spot where the e-mail address should be.
Once you've saved the configuration, this user will have access to your dataset – provided they have a Lexonomy account under this e-mail address. The next time they log in, they will see the dataset listed under My datasets on the Lexonomy homepage.
Users can have different privileges and you can control what those are. Click on the right-pointing arrow in the
user element and the element will expand, showing what that user's privileges are. You can change them here. For example, selecting
1 (meaning yes) under
canEdit means the user can edit, create and delete entries. Be careful about
canConfig: users who have a
1 here are able to access the configuration interface and can do what you're doing now, which means they could even remove you as user or downgrade your access privileges. If you have a team of people collaborating on a single dataset, it's a good idea that only one of them has access to the configuration interface.
Another thing you have control over in the configuration interface is the structure of entries: what elements are allowed to be there, what content is supposed to be inside them, and so on. Expand the
doctype element and you will see (assuming you have based your dataset on the simple monolingual dictionary template) that each entry is supposed to have a
headword element, a
partOfSpeech element and a
sense element. Expand the
sense element and you will see that it is supposed to have a
definition element and an
example element. And so on. This hierarchy of elements, which stack inside each other like Russian dolls, are a blueprint for all entries in your dataset.
To add a new element into your entry structure, click on one of the
element labels or on the
doctype label. A menu will come up allowing you to add a new child element.
Each element has a
name: this is what you see between angle brackets in its opening and closing tag, such as
</headword>. Each element also has a
content attribute which specifies what's supposed be inside the element (between its opening and closing tags). The first option is
txt which simply means that the element is supposed to contain a string of text.
The second option is
lst which means the element is supposed to contain a string of text that comes from a list. This is what you want to use for predefined lists of options such as part-of-speech labels. Each
option has a
value which is what actually appears in the XML, and a
caption which is how the value is displayed in the pretty-printed version of the entries. Notice that you can change the caption without changing the value, which gives you the flexibility to change how your entries are displayed without changing how they're encoded in the XML.
The third option is
chd which means the element is supposed to a contain a list of other elements: these are called its child elements (which is what the
chd stands for), and it in turn is called their parent element. For example, the
sense element is specified as containing
example child elements.
The final option is
inl which means the element is supposed to contain a mixture of text and elements, where the elements mark up portions of the text. For example, the
example element is specified as containing a text where a portion can be marked up with the
h element. The intention here is that the
h element tells us where in the example sentence the headword occurs. This type of text-and-tags mixture is called inline markup in XML and that's what the
inl stands for.
Each element in the configuration has a number of attributes, most of which are only visible after you click the right-pointing arrow.
Among these, the attributes
max are important: they control the number of times an element must be present inside its parent. For example, it says here that a
sense element must be inside the
entry at least once (
1) and there is no upper limit (a zero under
max means "no maximum"). For another example, look at the
headword element: it has
min 1 and
max 1, meaning there must be exactly one in each entry. When editing your entries in the editorial interface, Lexonomy will warn you (with little warning triangles) when you have overstepped or understepped these thresholds.
The other attributes such as
font have to do with how the entry is displayed in its pretty-printed version. They are fairly self-explanatory, so we will not go into the details here.
One last warning before we move on. At the beginning of your project when the dataset is empty, you can change the entry structure as much as you want. Later on, though, once you've created some entries, you need to tread carefully. Don't make changes that would disturb entries you've already created. For example, do not rename elements that are already being used, and do not change the hierarchy of parent and child elements when that hierarchy is already being used. This will cause your existing entries to be "invalid" as far as Lexonomy knows (there will be warning triangles everywhere) and you will have to correct them manually one by one. The rule of thumb is, do add but do not take away.
The nice things about Lexonomy is that it lets you make your dataset publicly available on the web, and that this process is almost effortless. You just need to change a few things in the configuration: click on
dataset and select Add
publish from the menu. This will add a new
publish element into the configuration.
From the moment you save the configuration now, your dataset will be publicly viewable. When you or anyone visits the dataset's homepage, they will be able to browse entries in the dataset. The dataset is now also listed in the Publicly accessible datasets on the Lexonomy homepage.
You can of course remove the
publish element, which will cause the dataset to become private again: just click on it and the option to remove it will be in the menu. Another option in that menu is to add a blurb to the dataset, that is, a short introductory paragraph of text which will appear on your dataset's homepage.
One thing you need to be aware of is that when making a dataset public, you're making it available under an open-source licence. The exact type of licence is under the
licence attribute in the configuration. You can change the licence, but all the options available there are open-source licences which allow other people to reuse your data freely, without the restrictions of copyright (the only thing they are legally required to do is acknowledge you publicly as the author of the data). This is a trade-off Lexonomy asks you to make: you can use Lexonomy for free and there are no restrictions, but in return, you must make your data available freely to the world.
This brings us to the end of this introduction. Lexonomy has a number of other features which we did not cover here, of which the most important is the ability to download your entire dataset (under the Download link). It is a good idea to this regularly, as a form of backup. If for any reason our server failed and your data got lost, you would be able to recover everything from your latest download. Do bear in mind that Lexonomy doesn't provide any guarantees and we do not make any backups on the server, so it is up to you to take care of that.
Another interesting feature is the ability to upload existing data into Lexonomy instead of creating all entries by hand. This is available under the Upload link. It is an advanced feature, though, and you would be well advised to shy away from it unless you know exactly what you're doing. The data you're uploading must be in XML and it must comply exactly with the entry structure as specified in your configuration.
Last but not least, Lexonomy has a number of additional features which are not available to new users straight away but which can be customized for you through the back door, so to speak. If you want to do something that Lexonomy doesn't provide for, contact us and we'll discuss it.