An open API service indexing awesome lists of open source software.

https://github.com/njaard/wordnet-rs

Read a wordnet dictionary in Rust
https://github.com/njaard/wordnet-rs

rust wordnet

Last synced: 5 months ago
JSON representation

Read a wordnet dictionary in Rust

Awesome Lists containing this project

README

          

[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/njaard/wordnet-rs/master/LICENSE)
[![Crates.io](https://img.shields.io/crates/v/wordnet.svg)](https://crates.io/crates/wordnet)
[![Documentation](https://docs.rs/wordnet/badge.svg)](https://docs.rs/wordnet)

[dependencies]
wordnet = "0.1"

# Introduction

This is a parser for [Wordnet](https://wordnet.princeton.edu/)
dictionaries, written in 100% Rust.

# Completeness

The library poorly tested and incomplete.

Here are the unimplemented features:

* [lexicographical file numbers](https://wordnet.princeton.edu/man/lexnames.5WN.html)
* handling of word numbers in the synset
* verb exceptions
* verb sentences
* many more things
* There may be some `Send` and `Sync` traits that could be applied.
* Source-breaking changes will follow semantic versioning.

# Example

let senses = wn.senses("horse");
senses[0]
.pointers.iter()
.filter(|p| p.relationship == wordnet::Relationship::Hypernym)
.map(|p| p.read())
.for_each( |e| println!("a horse is an {}", e.synonyms[0].word));

Output: A horse is an equine

# Robustness
If the database is corrupt then the library may panic.
I'm not clear on if there's a cause to use `Result`.

It is possible that there are bugs that may cause the
library to enter an infinite loop while parsing the database.

# Compatibility
The library is known to work on Linux and Windows.

# See Also
* [wordnet_stemmer](https://crates.io/crates/wordnet_stemmer) crate.