Struct Database

Source
pub struct Database { /* private fields */ }
Expand description

Represents a Wordnet database directory

Implementations§

Source§

impl Database

Source

pub fn open(path: &Path) -> Result<Database>

Open a wordnet database directory (not included)

On Debian, these files are present in /usr/share/wordnet and can be installed from the package wordnet-base.

Examples found in repository?
examples/horse_isa.rs (line 5)
3fn main()
4{
5	let wn = wordnet::Database::open(&::std::path::Path::new("/usr/share/wordnet")).unwrap();
6
7	let senses = wn.senses("horse");
8	senses[0]
9		.pointers.iter()
10		.filter(|p| p.relationship == wordnet::Relationship::Hypernym)
11		.map(|p| p.read())
12		.for_each( |e| println!("a horse is an {}", e.synonyms[0].word));
13}
More examples
Hide additional examples
examples/senses.rs (line 38)
36fn main()
37{
38  let wn = wordnet::Database::open(&::std::path::Path::new("/usr/share/wordnet")).unwrap();
39
40  for argument in std::env::args().skip(1)
41  {
42    let senses = wn.senses(&argument);
43    println!("{} has {} senses:", argument, senses.len());
44    for (n, ref s) in senses.iter().enumerate()
45    {
46      println!(
47        "  {}. {} ({}): {}",
48        n,
49        s.synonyms.iter().fold(
50          "".to_string(),
51          |acc,ref x|
52          {
53            let s = if acc.len()==0 { "" } else { ", " };
54            format!("{}{}{}", acc, s, x.word)
55          }
56        ),
57        s.part_of_speech.short(),
58        s.gloss,
59      );
60      for p in &s.pointers
61      {
62        print_tree(1, p);
63      }
64    }
65  }
66
67}
Source

pub fn senses(&self, word: &str) -> Vec<Sense<'_>>

find all senses of a word.

This search is case-insensitive.

Examples found in repository?
examples/horse_isa.rs (line 7)
3fn main()
4{
5	let wn = wordnet::Database::open(&::std::path::Path::new("/usr/share/wordnet")).unwrap();
6
7	let senses = wn.senses("horse");
8	senses[0]
9		.pointers.iter()
10		.filter(|p| p.relationship == wordnet::Relationship::Hypernym)
11		.map(|p| p.read())
12		.for_each( |e| println!("a horse is an {}", e.synonyms[0].word));
13}
More examples
Hide additional examples
examples/senses.rs (line 42)
36fn main()
37{
38  let wn = wordnet::Database::open(&::std::path::Path::new("/usr/share/wordnet")).unwrap();
39
40  for argument in std::env::args().skip(1)
41  {
42    let senses = wn.senses(&argument);
43    println!("{} has {} senses:", argument, senses.len());
44    for (n, ref s) in senses.iter().enumerate()
45    {
46      println!(
47        "  {}. {} ({}): {}",
48        n,
49        s.synonyms.iter().fold(
50          "".to_string(),
51          |acc,ref x|
52          {
53            let s = if acc.len()==0 { "" } else { ", " };
54            format!("{}{}{}", acc, s, x.word)
55          }
56        ),
57        s.part_of_speech.short(),
58        s.gloss,
59      );
60      for p in &s.pointers
61      {
62        print_tree(1, p);
63      }
64    }
65  }
66
67}

Trait Implementations§

Source§

impl Debug for Database

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.