wordnet 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
 - checksums.yaml.gz.sig +0 -0
 - data.tar.gz.sig +0 -0
 - data/.gems +6 -5
 - data/.ruby-version +1 -1
 - data/History.rdoc +9 -0
 - data/README.md +1 -1
 - data/README.rdoc +20 -19
 - data/Rakefile +5 -5
 - data/certs/ged.pem +11 -11
 - data/lib/wordnet.rb +12 -18
 - data/lib/wordnet/constants.rb +51 -51
 - data/lib/wordnet/lexicallink.rb +6 -6
 - data/lib/wordnet/lexicon.rb +26 -39
 - data/lib/wordnet/model.rb +31 -39
 - data/lib/wordnet/morph.rb +3 -3
 - data/lib/wordnet/semanticlink.rb +7 -7
 - data/lib/wordnet/sense.rb +7 -7
 - data/lib/wordnet/sumoterm.rb +5 -5
 - data/lib/wordnet/synset.rb +58 -45
 - data/lib/wordnet/word.rb +16 -11
 - data/spec/helpers.rb +11 -7
 - data/spec/wordnet/lexicon_spec.rb +80 -148
 - data/spec/wordnet/model_spec.rb +0 -7
 - data/spec/wordnet/semanticlink_spec.rb +5 -3
 - data/spec/wordnet/sense_spec.rb +5 -3
 - data/spec/wordnet/synset_spec.rb +14 -26
 - data/spec/wordnet/word_spec.rb +14 -6
 - data/wordnet.gemspec +49 -49
 - metadata +49 -57
 - metadata.gz.sig +0 -0
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 27d43321cb1c8ba285945387a8eedd6bd25f5647
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6b7f5d9abef4970f46a98bc06f621ef2de26744d
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 6dac34d56a4eea80abe63377c08e8f68e1d149e40e230757bb05213f3bd45d88b0238eb4f3cb04d46e0ef2a016bb9229e8a22e6240c94295e19e32fed023ec31
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 7b93069a12a31970a977afcf2ecf8a12113f103d56818c99c417c83f5f7f2c3f4d1f93e0ffd268d73f81d0910c760de20c5d923ab06d214d00e320bf391c80f5
         
     | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        data.tar.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        data/.gems
    CHANGED
    
    | 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            hoe-deveiate 
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            simplecov 
     | 
| 
      
 1 
     | 
    
         
            +
            hoe-deveiate
         
     | 
| 
      
 2 
     | 
    
         
            +
            loggability
         
     | 
| 
      
 3 
     | 
    
         
            +
            pg
         
     | 
| 
      
 4 
     | 
    
         
            +
            sequel
         
     | 
| 
      
 5 
     | 
    
         
            +
            simplecov
         
     | 
| 
      
 6 
     | 
    
         
            +
            sqlite3
         
     | 
    
        data/.ruby-version
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            2. 
     | 
| 
      
 1 
     | 
    
         
            +
            2.4
         
     | 
    
        data/History.rdoc
    CHANGED
    
    | 
         @@ -1,3 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ==  v1.1.0 [2017-09-26] Michael Granger <ged@FaerieMUD.org>
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Enhancements:
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            - Update to WordNet 3.1 (from SQLUNet 5.2.0), Sequel 5.0.
         
     | 
| 
      
 6 
     | 
    
         
            +
            - Made fetching Synset by ordinal deterministic
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Documentation updates/fixes
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       1 
10 
     | 
    
         
             
            == v1.0.1 [2016-09-18] Michael Granger <ged@FaerieMUD.org>
         
     | 
| 
       2 
11 
     | 
    
         | 
| 
       3 
12 
     | 
    
         
             
            - Finish up and fix WordNet::Sense
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            The README is in RDoc format, which Bitbucket doesn't support; [see the source](https://bitbucket.org/ged/ruby-wordnet/src/3db62d5ed69878e8e7c36795d3379291db0402d6/README.rdoc?at=default).
         
     | 
| 
      
 1 
     | 
    
         
            +
            The README is in RDoc format, which Bitbucket/Github doesn't support; [see the source](https://bitbucket.org/ged/ruby-wordnet/src/3db62d5ed69878e8e7c36795d3379291db0402d6/README.rdoc?at=default).
         
     | 
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -1,22 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = Ruby-WordNet
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            *  
     | 
| 
      
 3 
     | 
    
         
            +
            * https://bitbucket.org/ged/ruby-wordnet/
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            == Description
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            This library is a Ruby interface to WordNet®[http://wordnet.princeton.edu/].
         
     | 
| 
       8 
     | 
    
         
            -
            WordNet® is an online lexical reference system whose design is inspired
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            representing one underlying lexical concept. Different relations link
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            This library uses  
     | 
| 
       15 
     | 
    
         
            -
            conversion of the  
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
            {Sequel connection 
     | 
| 
      
 8 
     | 
    
         
            +
            WordNet® is an online lexical reference system whose design is inspired by
         
     | 
| 
      
 9 
     | 
    
         
            +
            current psycholinguistic theories of human lexical memory. English nouns,
         
     | 
| 
      
 10 
     | 
    
         
            +
            verbs, adjectives and adverbs are organized into synonym sets, each
         
     | 
| 
      
 11 
     | 
    
         
            +
            representing one underlying lexical concept. Different relations link the
         
     | 
| 
      
 12 
     | 
    
         
            +
            synonym sets.
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            This library uses SqlUNET[http://sqlunet.sourceforge.net/], which is a
         
     | 
| 
      
 15 
     | 
    
         
            +
            conversion of the WordNet (along with a number of other linguistic databases)
         
     | 
| 
      
 16 
     | 
    
         
            +
            lexicon flatfiles into a relational database format. You can either install the
         
     | 
| 
      
 17 
     | 
    
         
            +
            {wordnet-defaultdb}[https://rubygems.org/gems/wordnet-defaultdb] gem, which
         
     | 
| 
      
 18 
     | 
    
         
            +
            packages up the SQLite3 version of SqlUNet, or install your own and point the
         
     | 
| 
      
 19 
     | 
    
         
            +
            lexicon at it by passing {Sequel connection
         
     | 
| 
      
 20 
     | 
    
         
            +
            parameters}[http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html]
         
     | 
| 
       20 
21 
     | 
    
         
             
            to the constructor.
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
23 
     | 
    
         
             
            === Usage
         
     | 
| 
         @@ -53,15 +54,15 @@ mapping: 
     | 
|
| 
       53 
54 
     | 
    
         
             
            [WordNet::SumoTerm]      {Suggested Upper Merged Ontology}[http://www.ontologyportal.org/]
         
     | 
| 
       54 
55 
     | 
    
         
             
                                     terms, with associations back to related Synsets.
         
     | 
| 
       55 
56 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 57 
     | 
    
         
            +
            As mentioned above, SqlUNet has done an amazing job of linking up a number of
         
     | 
| 
      
 58 
     | 
    
         
            +
            other useful linguistic lexicons via WordNet synsets. I plan on adding support
         
     | 
| 
      
 59 
     | 
    
         
            +
            for at minimum VerbNet, FrameNet, and PropBank.
         
     | 
| 
       59 
60 
     | 
    
         | 
| 
       60 
61 
     | 
    
         | 
| 
       61 
62 
     | 
    
         
             
            == Requirements
         
     | 
| 
       62 
63 
     | 
    
         | 
| 
       63 
     | 
    
         
            -
            * Ruby >=  
     | 
| 
       64 
     | 
    
         
            -
            * Sequel >=  
     | 
| 
      
 64 
     | 
    
         
            +
            * Ruby >= 2.3
         
     | 
| 
      
 65 
     | 
    
         
            +
            * Sequel >= 5.0
         
     | 
| 
       65 
66 
     | 
    
         | 
| 
       66 
67 
     | 
    
         | 
| 
       67 
68 
     | 
    
         
             
            == Authors
         
     | 
| 
         @@ -71,7 +72,7 @@ me a note if you're interested in working on this. 
     | 
|
| 
       71 
72 
     | 
    
         | 
| 
       72 
73 
     | 
    
         
             
            == License
         
     | 
| 
       73 
74 
     | 
    
         | 
| 
       74 
     | 
    
         
            -
            Copyright (c) 2002- 
     | 
| 
      
 75 
     | 
    
         
            +
            Copyright (c) 2002-2017, Michael Granger
         
     | 
| 
       75 
76 
     | 
    
         
             
            All rights reserved.
         
     | 
| 
       76 
77 
     | 
    
         | 
| 
       77 
78 
     | 
    
         
             
            Redistribution and use in source and binary forms, with or without
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -29,12 +29,12 @@ hoespec = Hoe.spec( 'wordnet' ) do 
     | 
|
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
            	self.developer 'Michael Granger', 'ged@FaerieMUD.org'
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
            	self.dependency 'sequel', 
     | 
| 
       33 
     | 
    
         
            -
            	self.dependency 'loggability', 
     | 
| 
      
 32 
     | 
    
         
            +
            	self.dependency 'sequel',               '~> 5.0'
         
     | 
| 
      
 33 
     | 
    
         
            +
            	self.dependency 'loggability',          '~> 0.11'
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
            	self.dependency 'sqlite3', 
     | 
| 
       36 
     | 
    
         
            -
            	self.dependency 'rspec', 
     | 
| 
       37 
     | 
    
         
            -
            	self.dependency 'simplecov', 
     | 
| 
      
 35 
     | 
    
         
            +
            	self.dependency 'sqlite3',              '~> 1.3', :developer
         
     | 
| 
      
 36 
     | 
    
         
            +
            	self.dependency 'rspec',                '~> 3.5', :developer
         
     | 
| 
      
 37 
     | 
    
         
            +
            	self.dependency 'simplecov',            '~> 0.12', :developer
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
            	self.spec_extras[:post_install_message] = %{
         
     | 
| 
       40 
40 
     | 
    
         
             
            	If you don't already have a WordNet database installed somewhere,
         
     | 
    
        data/certs/ged.pem
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            -----BEGIN CERTIFICATE-----
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
            MIIEbDCCAtSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQwwCgYDVQQDDANnZWQx
         
     | 
| 
       3 
3 
     | 
    
         
             
            GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
            HhcNMTcwOTI3MDAzMDQ0WhcNMTgwOTI3MDAzMDQ0WjA+MQwwCgYDVQQDDANnZWQx
         
     | 
| 
       5 
5 
     | 
    
         
             
            GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
         
     | 
| 
       6 
6 
     | 
    
         
             
            ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC/JWGRHO+USzR97vXjkFgt
         
     | 
| 
       7 
7 
     | 
    
         
             
            83qeNf2KHkcvrRTSnR64i6um/ziin0I0oX23H7VYrDJC9A/uoUa5nGRJS5Zw/+wW
         
     | 
| 
         @@ -14,13 +14,13 @@ soo/6za/bWajOKUmDhpqvaiRv9EDpVLzuj53uDoukMMwxCMfgb04+ckQ0t2G7wqc 
     | 
|
| 
       14 
14 
     | 
    
         
             
            /D+K9JW9DDs3Yjgv9k4h7YMhW5gftosd+NkNC/+Y2CkCAwEAAaN1MHMwCQYDVR0T
         
     | 
| 
       15 
15 
     | 
    
         
             
            BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFHKN/nkRusdqCJEuq3lgB3fJvyTg
         
     | 
| 
       16 
16 
     | 
    
         
             
            MBwGA1UdEQQVMBOBEWdlZEBGYWVyaWVNVUQub3JnMBwGA1UdEgQVMBOBEWdlZEBG
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
            YWVyaWVNVUQub3JnMA0GCSqGSIb3DQEBBQUAA4IBgQB/qyi5pCjK8ceoKalfVAjS
         
     | 
| 
      
 18 
     | 
    
         
            +
            vG64FEnLnD1bm39T5UaFIRmo+abZtfpg2QhwKvPbPjOicau2+m+MDQ2Cc3tgyaC3
         
     | 
| 
      
 19 
     | 
    
         
            +
            dZxcP6w8APFg4AId09uWAZKf0xajvBMS2aOz8Bbmag6fwqRRkTMqsNYnmqcF7aRT
         
     | 
| 
      
 20 
     | 
    
         
            +
            DuEzbEMfaOUYjU9RuB48vr4q8yRft0ww+3jq5iwNkrX1buL2pwBbyvgms6D/BV41
         
     | 
| 
      
 21 
     | 
    
         
            +
            MaTVMjsHqJUwU2xVfhGtxGAWAer5S1HGYHkbio6mGVtiie0uWjmnzi7ppIlMr48a
         
     | 
| 
      
 22 
     | 
    
         
            +
            7BNTsoZ+/JRk3iQWmmNsyFT7xfqBKye7cH11BX8V8P4MeGB5YWlMI+Myj5DZY3fQ
         
     | 
| 
      
 23 
     | 
    
         
            +
            st2AGD4rb1l0ia7PfubcBThSIdz61eCb8gRi/RiZZwb3/7+eyEncLJzt2Ob9fGSF
         
     | 
| 
      
 24 
     | 
    
         
            +
            X0qdrKi+2aZZ0NGuFj9AItBsVmAvkBGIpX4TEKQp5haEbPpmaqO5nIIhV26PXmyT
         
     | 
| 
      
 25 
     | 
    
         
            +
            OMKv6pWsoS81vw5KAGBmfX8nht/Py90DQrbRvakATGI=
         
     | 
| 
       26 
26 
     | 
    
         
             
            -----END CERTIFICATE-----
         
     | 
    
        data/lib/wordnet.rb
    CHANGED
    
    | 
         @@ -4,9 +4,9 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require 'loggability'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'sequel'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            # This is a Ruby interface to the WordNet® lexical database. It uses the  
     | 
| 
       8 
     | 
    
         
            -
            # project's databases instead of reading from the canonical flatfiles for speed 
     | 
| 
       9 
     | 
    
         
            -
            # easy modification.
         
     | 
| 
      
 7 
     | 
    
         
            +
            # This is a Ruby interface to the WordNet® lexical database. It uses the SqlUNet
         
     | 
| 
      
 8 
     | 
    
         
            +
            # project's databases instead of reading from the canonical flatfiles for speed,
         
     | 
| 
      
 9 
     | 
    
         
            +
            # easy modification, and correlation with other linguistic lexicons.
         
     | 
| 
       10 
10 
     | 
    
         
             
            module WordNet
         
     | 
| 
       11 
11 
     | 
    
         
             
            	extend Loggability
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -15,15 +15,11 @@ module WordNet 
     | 
|
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            	# Release version
         
     | 
| 
       18 
     | 
    
         
            -
            	VERSION = '1.0 
     | 
| 
      
 18 
     | 
    
         
            +
            	VERSION = '1.1.0'
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
            	# VCS revision
         
     | 
| 
       21 
21 
     | 
    
         
             
            	REVISION = %q$Revision: $
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            	# Abort if not >=2.2.0
         
     | 
| 
       24 
     | 
    
         
            -
            	abort "This version of WordNet requires Ruby 2.2.0 or greater." unless
         
     | 
| 
       25 
     | 
    
         
            -
            		RUBY_VERSION >= '2.2.0'
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
23 
     | 
    
         | 
| 
       28 
24 
     | 
    
         
             
            	### Lexicon exception - something has gone wrong in the internals of the
         
     | 
| 
       29 
25 
     | 
    
         
             
            	### lexicon.
         
     | 
| 
         @@ -38,7 +34,6 @@ module WordNet 
     | 
|
| 
       38 
34 
     | 
    
         
             
            	include WordNet::Constants
         
     | 
| 
       39 
35 
     | 
    
         | 
| 
       40 
36 
     | 
    
         
             
            	### Get the WordNet version.
         
     | 
| 
       41 
     | 
    
         
            -
            	### @return [String] the library's version
         
     | 
| 
       42 
37 
     | 
    
         
             
            	def self::version_string( include_buildnum=false )
         
     | 
| 
       43 
38 
     | 
    
         
             
            		vstring = "%s %s" % [ self.name, VERSION ]
         
     | 
| 
       44 
39 
     | 
    
         
             
            		vstring << " (build %s)" % [ REVISION[/: ([[:xdigit:]]+)/, 1] || '0' ] if include_buildnum
         
     | 
| 
         @@ -47,15 +42,15 @@ module WordNet 
     | 
|
| 
       47 
42 
     | 
    
         | 
| 
       48 
43 
     | 
    
         | 
| 
       49 
44 
     | 
    
         
             
            	require 'wordnet/lexicon'
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
45 
     | 
    
         
             
            	require 'wordnet/model'
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
            	 
     | 
| 
       54 
     | 
    
         
            -
            	 
     | 
| 
       55 
     | 
    
         
            -
            	 
     | 
| 
       56 
     | 
    
         
            -
            	 
     | 
| 
       57 
     | 
    
         
            -
            	 
     | 
| 
       58 
     | 
    
         
            -
            	 
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/sense' )
         
     | 
| 
      
 48 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/synset' )
         
     | 
| 
      
 49 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/semanticlink' )
         
     | 
| 
      
 50 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/lexicallink' )
         
     | 
| 
      
 51 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/word' )
         
     | 
| 
      
 52 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/morph' )
         
     | 
| 
      
 53 
     | 
    
         
            +
            	WordNet::Model.register_model( 'wordnet/sumoterm' )
         
     | 
| 
       59 
54 
     | 
    
         | 
| 
       60 
55 
     | 
    
         
             
            	#
         
     | 
| 
       61 
56 
     | 
    
         
             
            	# Backward-compatibility stuff
         
     | 
| 
         @@ -79,6 +74,5 @@ module WordNet 
     | 
|
| 
       79 
74 
     | 
    
         
             
            	Other     = :s
         
     | 
| 
       80 
75 
     | 
    
         | 
| 
       81 
76 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
77 
     | 
    
         
             
            end # module WordNet
         
     | 
| 
       84 
78 
     | 
    
         | 
    
        data/lib/wordnet/constants.rb
    CHANGED
    
    | 
         @@ -14,11 +14,11 @@ module WordNet::Constants 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            	# Synset syntactic-category names -> indicators
         
     | 
| 
       16 
16 
     | 
    
         
             
            	SYNTACTIC_CATEGORIES = {
         
     | 
| 
       17 
     | 
    
         
            -
            		: 
     | 
| 
       18 
     | 
    
         
            -
            		: 
     | 
| 
       19 
     | 
    
         
            -
            		: 
     | 
| 
       20 
     | 
    
         
            -
            		: 
     | 
| 
       21 
     | 
    
         
            -
            		: 
     | 
| 
      
 17 
     | 
    
         
            +
            		noun: "n",
         
     | 
| 
      
 18 
     | 
    
         
            +
            		verb: "v",
         
     | 
| 
      
 19 
     | 
    
         
            +
            		adjective: "a",
         
     | 
| 
      
 20 
     | 
    
         
            +
            		adverb: "r",
         
     | 
| 
      
 21 
     | 
    
         
            +
            		other: "s",
         
     | 
| 
       22 
22 
     | 
    
         
             
            	}
         
     | 
| 
       23 
23 
     | 
    
         
             
            	# Syntactic-category indicators -> names
         
     | 
| 
       24 
24 
     | 
    
         
             
            	SYNTACTIC_SYMBOLS = SYNTACTIC_CATEGORIES.invert
         
     | 
| 
         @@ -34,29 +34,29 @@ module WordNet::Constants 
     | 
|
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
            	# Synset pointer typenames -> indicators
         
     | 
| 
       36 
36 
     | 
    
         
             
            	POINTER_TYPES = {
         
     | 
| 
       37 
     | 
    
         
            -
            		: 
     | 
| 
       38 
     | 
    
         
            -
            		: 
     | 
| 
       39 
     | 
    
         
            -
            		: 
     | 
| 
       40 
     | 
    
         
            -
            		: 
     | 
| 
       41 
     | 
    
         
            -
            		: 
     | 
| 
       42 
     | 
    
         
            -
            		: 
     | 
| 
       43 
     | 
    
         
            -
            		: 
     | 
| 
       44 
     | 
    
         
            -
            		: 
     | 
| 
       45 
     | 
    
         
            -
            		: 
     | 
| 
       46 
     | 
    
         
            -
            		: 
     | 
| 
       47 
     | 
    
         
            -
            		: 
     | 
| 
       48 
     | 
    
         
            -
            		: 
     | 
| 
       49 
     | 
    
         
            -
            		: 
     | 
| 
       50 
     | 
    
         
            -
            		: 
     | 
| 
       51 
     | 
    
         
            -
            		: 
     | 
| 
       52 
     | 
    
         
            -
            		: 
     | 
| 
       53 
     | 
    
         
            -
            		: 
     | 
| 
      
 37 
     | 
    
         
            +
            		antonym: '!',
         
     | 
| 
      
 38 
     | 
    
         
            +
            		hypernym: '@',
         
     | 
| 
      
 39 
     | 
    
         
            +
            		entailment: '*',
         
     | 
| 
      
 40 
     | 
    
         
            +
            		hyponym: '~',
         
     | 
| 
      
 41 
     | 
    
         
            +
            		meronym: '%',
         
     | 
| 
      
 42 
     | 
    
         
            +
            		holonym: '#',
         
     | 
| 
      
 43 
     | 
    
         
            +
            		cause: '>',
         
     | 
| 
      
 44 
     | 
    
         
            +
            		verb_group: '$',
         
     | 
| 
      
 45 
     | 
    
         
            +
            		similar_to: '&',
         
     | 
| 
      
 46 
     | 
    
         
            +
            		participle: '<',
         
     | 
| 
      
 47 
     | 
    
         
            +
            		pertainym: '\\',
         
     | 
| 
      
 48 
     | 
    
         
            +
            		attribute: '=',
         
     | 
| 
      
 49 
     | 
    
         
            +
            		derived_from: '\\',
         
     | 
| 
      
 50 
     | 
    
         
            +
            		see_also: '^',
         
     | 
| 
      
 51 
     | 
    
         
            +
            		derivation: '+',
         
     | 
| 
      
 52 
     | 
    
         
            +
            		domain: ';',
         
     | 
| 
      
 53 
     | 
    
         
            +
            		member: '-',
         
     | 
| 
       54 
54 
     | 
    
         
             
            	}
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
            	# Synset pointer indicator -> typename
         
     | 
| 
       57 
57 
     | 
    
         
             
            	POINTER_SYMBOLS = POINTER_TYPES.invert
         
     | 
| 
       58 
58 
     | 
    
         | 
| 
       59 
     | 
    
         
            -
            	# Map the pointer types into their own symbols (eg., : 
     | 
| 
      
 59 
     | 
    
         
            +
            	# Map the pointer types into their own symbols (eg., verb_group: VerbGroup)
         
     | 
| 
       60 
60 
     | 
    
         
             
            	POINTER_TYPES.each do |sym,val|
         
     | 
| 
       61 
61 
     | 
    
         
             
            		cname = sym.to_s.gsub( /(?:^|_)(.)/ ) { $1.upcase }
         
     | 
| 
       62 
62 
     | 
    
         
             
            		const_set( cname, val )
         
     | 
| 
         @@ -65,7 +65,7 @@ module WordNet::Constants 
     | 
|
| 
       65 
65 
     | 
    
         
             
            	# Hypernym synset pointer types
         
     | 
| 
       66 
66 
     | 
    
         
             
            	HYPERNYM_TYPES = {
         
     | 
| 
       67 
67 
     | 
    
         
             
            		nil             => '@', # Install non-subtype methods, too
         
     | 
| 
       68 
     | 
    
         
            -
            		: 
     | 
| 
      
 68 
     | 
    
         
            +
            		instance: '@i',
         
     | 
| 
       69 
69 
     | 
    
         
             
            	}
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
            	# Hypernym indicator -> type map
         
     | 
| 
         @@ -74,7 +74,7 @@ module WordNet::Constants 
     | 
|
| 
       74 
74 
     | 
    
         
             
            	# Hyponym synset pointer types
         
     | 
| 
       75 
75 
     | 
    
         
             
            	HYPONYM_TYPES = {
         
     | 
| 
       76 
76 
     | 
    
         
             
            		nil             => '~', # Install non-subtype methods, too
         
     | 
| 
       77 
     | 
    
         
            -
            		: 
     | 
| 
      
 77 
     | 
    
         
            +
            		instance: '~i',
         
     | 
| 
       78 
78 
     | 
    
         
             
            	}
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
       80 
80 
     | 
    
         
             
            	# Hyponym indicator -> type map
         
     | 
| 
         @@ -82,13 +82,13 @@ module WordNet::Constants 
     | 
|
| 
       82 
82 
     | 
    
         | 
| 
       83 
83 
     | 
    
         
             
            	# Meronym synset pointer types
         
     | 
| 
       84 
84 
     | 
    
         
             
            	MERONYM_TYPES = {
         
     | 
| 
       85 
     | 
    
         
            -
            		: 
     | 
| 
       86 
     | 
    
         
            -
            		: 
     | 
| 
       87 
     | 
    
         
            -
            		: 
     | 
| 
       88 
     | 
    
         
            -
            		: 
     | 
| 
       89 
     | 
    
         
            -
            		: 
     | 
| 
       90 
     | 
    
         
            -
            		: 
     | 
| 
       91 
     | 
    
         
            -
            		: 
     | 
| 
      
 85 
     | 
    
         
            +
            		member: '%m',
         
     | 
| 
      
 86 
     | 
    
         
            +
            		stuff: '%s',
         
     | 
| 
      
 87 
     | 
    
         
            +
            		portion: '%o',
         
     | 
| 
      
 88 
     | 
    
         
            +
            		component: '%p',
         
     | 
| 
      
 89 
     | 
    
         
            +
            		feature: '%f',
         
     | 
| 
      
 90 
     | 
    
         
            +
            		phase: '%a',
         
     | 
| 
      
 91 
     | 
    
         
            +
            		place: '%l',
         
     | 
| 
       92 
92 
     | 
    
         
             
            	}
         
     | 
| 
       93 
93 
     | 
    
         | 
| 
       94 
94 
     | 
    
         
             
            	# Meronym indicator -> type map
         
     | 
| 
         @@ -102,13 +102,13 @@ module WordNet::Constants 
     | 
|
| 
       102 
102 
     | 
    
         | 
| 
       103 
103 
     | 
    
         
             
            	# Holonym synset pointer types
         
     | 
| 
       104 
104 
     | 
    
         
             
            	HOLONYM_TYPES = {
         
     | 
| 
       105 
     | 
    
         
            -
            		: 
     | 
| 
       106 
     | 
    
         
            -
            		: 
     | 
| 
       107 
     | 
    
         
            -
            		: 
     | 
| 
       108 
     | 
    
         
            -
            		: 
     | 
| 
       109 
     | 
    
         
            -
            		: 
     | 
| 
       110 
     | 
    
         
            -
            		: 
     | 
| 
       111 
     | 
    
         
            -
            		: 
     | 
| 
      
 105 
     | 
    
         
            +
            		member: '#m',
         
     | 
| 
      
 106 
     | 
    
         
            +
            		stuff: '#s',
         
     | 
| 
      
 107 
     | 
    
         
            +
            		portion: '#o',
         
     | 
| 
      
 108 
     | 
    
         
            +
            		component: '#p',
         
     | 
| 
      
 109 
     | 
    
         
            +
            		feature: '#f',
         
     | 
| 
      
 110 
     | 
    
         
            +
            		phase: '#a',
         
     | 
| 
      
 111 
     | 
    
         
            +
            		place: '#l',
         
     | 
| 
       112 
112 
     | 
    
         
             
            	}
         
     | 
| 
       113 
113 
     | 
    
         | 
| 
       114 
114 
     | 
    
         
             
            	# Holonym indicator -> type map
         
     | 
| 
         @@ -122,9 +122,9 @@ module WordNet::Constants 
     | 
|
| 
       122 
122 
     | 
    
         | 
| 
       123 
123 
     | 
    
         
             
            	# Domain synset pointer types
         
     | 
| 
       124 
124 
     | 
    
         
             
            	DOMAIN_TYPES = {
         
     | 
| 
       125 
     | 
    
         
            -
            		: 
     | 
| 
       126 
     | 
    
         
            -
            		: 
     | 
| 
       127 
     | 
    
         
            -
            		: 
     | 
| 
      
 125 
     | 
    
         
            +
            		category: ';c',
         
     | 
| 
      
 126 
     | 
    
         
            +
            		region: ';r',
         
     | 
| 
      
 127 
     | 
    
         
            +
            		usage: ';u',
         
     | 
| 
       128 
128 
     | 
    
         
             
            	}
         
     | 
| 
       129 
129 
     | 
    
         | 
| 
       130 
130 
     | 
    
         
             
            	# Domain indicator -> type map
         
     | 
| 
         @@ -138,9 +138,9 @@ module WordNet::Constants 
     | 
|
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
            	# Member synset pointer types
         
     | 
| 
       140 
140 
     | 
    
         
             
            	MEMBER_TYPES = {
         
     | 
| 
       141 
     | 
    
         
            -
            		: 
     | 
| 
       142 
     | 
    
         
            -
            		: 
     | 
| 
       143 
     | 
    
         
            -
            		: 
     | 
| 
      
 141 
     | 
    
         
            +
            		category: '-c',
         
     | 
| 
      
 142 
     | 
    
         
            +
            		region: '-r',
         
     | 
| 
      
 143 
     | 
    
         
            +
            		usage: '-u',
         
     | 
| 
       144 
144 
     | 
    
         
             
            	}
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         
             
            	# Member indicator -> type map
         
     | 
| 
         @@ -154,12 +154,12 @@ module WordNet::Constants 
     | 
|
| 
       154 
154 
     | 
    
         | 
| 
       155 
155 
     | 
    
         
             
            	# Map of primary types to maps of their subtypes
         
     | 
| 
       156 
156 
     | 
    
         
             
            	POINTER_SUBTYPES = {
         
     | 
| 
       157 
     | 
    
         
            -
            		: 
     | 
| 
       158 
     | 
    
         
            -
            		: 
     | 
| 
       159 
     | 
    
         
            -
            		: 
     | 
| 
       160 
     | 
    
         
            -
            		: 
     | 
| 
       161 
     | 
    
         
            -
            		: 
     | 
| 
       162 
     | 
    
         
            -
            		: 
     | 
| 
      
 157 
     | 
    
         
            +
            		hyponym: HYPONYM_TYPES,
         
     | 
| 
      
 158 
     | 
    
         
            +
            		hypernym: HYPERNYM_TYPES,
         
     | 
| 
      
 159 
     | 
    
         
            +
            		meronym: MERONYM_TYPES,
         
     | 
| 
      
 160 
     | 
    
         
            +
            		holonym: HOLONYM_TYPES,
         
     | 
| 
      
 161 
     | 
    
         
            +
            		member: MEMBER_TYPES,
         
     | 
| 
      
 162 
     | 
    
         
            +
            		domain: DOMAIN_TYPES,
         
     | 
| 
       163 
163 
     | 
    
         
             
            	}
         
     | 
| 
       164 
164 
     | 
    
         | 
| 
       165 
165 
     | 
    
         | 
    
        data/lib/wordnet/lexicallink.rb
    CHANGED
    
    | 
         @@ -14,16 +14,16 @@ class WordNet::LexicalLink < WordNet::Model( :lexlinks ) 
     | 
|
| 
       14 
14 
     | 
    
         
             
            	##
         
     | 
| 
       15 
15 
     | 
    
         
             
            	# The WordNet::Sense the link is pointing *from*.
         
     | 
| 
       16 
16 
     | 
    
         
             
            	many_to_one :origin,
         
     | 
| 
       17 
     | 
    
         
            -
            		: 
     | 
| 
       18 
     | 
    
         
            -
            		: 
     | 
| 
       19 
     | 
    
         
            -
            		: 
     | 
| 
      
 17 
     | 
    
         
            +
            		class: 'WordNet::Sense',
         
     | 
| 
      
 18 
     | 
    
         
            +
            		key: :synset1id,
         
     | 
| 
      
 19 
     | 
    
         
            +
            		primary_key: :synsetid
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            	##
         
     | 
| 
       22 
22 
     | 
    
         
             
            	# The WordNet::Synset the link is pointing *to*.
         
     | 
| 
       23 
23 
     | 
    
         
             
            	one_to_many :target,
         
     | 
| 
       24 
     | 
    
         
            -
            		: 
     | 
| 
       25 
     | 
    
         
            -
            		: 
     | 
| 
       26 
     | 
    
         
            -
            		: 
     | 
| 
      
 24 
     | 
    
         
            +
            		class: 'WordNet::Synset',
         
     | 
| 
      
 25 
     | 
    
         
            +
            		key: :synsetid,
         
     | 
| 
      
 26 
     | 
    
         
            +
            		primary_key: :synset2id
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
            	######
         
     | 
    
        data/lib/wordnet/lexicon.rb
    CHANGED
    
    | 
         @@ -7,8 +7,14 @@ require 'rubygems' 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            require 'wordnet' unless defined?( WordNet )
         
     | 
| 
       9 
9 
     | 
    
         
             
            require 'wordnet/constants'
         
     | 
| 
       10 
     | 
    
         
            -
            require 'wordnet/ 
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            require 'wordnet/model'
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            # Try to load the default database gem, ignoring it if it's not installed.
         
     | 
| 
      
 13 
     | 
    
         
            +
            begin
         
     | 
| 
      
 14 
     | 
    
         
            +
            	require 'wordnet-defaultdb'
         
     | 
| 
      
 15 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 16 
     | 
    
         
            +
            	# No-op
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
       12 
18 
     | 
    
         | 
| 
       13 
19 
     | 
    
         | 
| 
       14 
20 
     | 
    
         
             
            # WordNet lexicon class - provides access to the WordNet lexical
         
     | 
| 
         @@ -18,13 +24,13 @@ require 'wordnet/word' 
     | 
|
| 
       18 
24 
     | 
    
         
             
            # == Creating a Lexicon
         
     | 
| 
       19 
25 
     | 
    
         
             
            #
         
     | 
| 
       20 
26 
     | 
    
         
             
            # To create a Lexicon, point it at a database using {Sequel database connection
         
     | 
| 
       21 
     | 
    
         
            -
            # criteria}[http://sequel. 
     | 
| 
      
 27 
     | 
    
         
            +
            # criteria}[http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html]:
         
     | 
| 
       22 
28 
     | 
    
         
             
            #
         
     | 
| 
       23 
     | 
    
         
            -
            #     lex = WordNet::Lexicon.new( 'postgres://localhost/ 
     | 
| 
       24 
     | 
    
         
            -
            #     # => #<WordNet::Lexicon:0x7fd192a76668 postgres://localhost/ 
     | 
| 
      
 29 
     | 
    
         
            +
            #     lex = WordNet::Lexicon.new( 'postgres://localhost/wordnet31' )
         
     | 
| 
      
 30 
     | 
    
         
            +
            #     # => #<WordNet::Lexicon:0x7fd192a76668 postgres://localhost/wordnet31>
         
     | 
| 
       25 
31 
     | 
    
         
             
            #
         
     | 
| 
       26 
32 
     | 
    
         
             
            #     # Another way of doing the same thing:
         
     | 
| 
       27 
     | 
    
         
            -
            #     lex = WordNet::Lexicon.new( adapter: 'postgres', database: ' 
     | 
| 
      
 33 
     | 
    
         
            +
            #     lex = WordNet::Lexicon.new( adapter: 'postgres', database: 'wordnet31', host: 'localhost' )
         
     | 
| 
       28 
34 
     | 
    
         
             
            #     # => #<WordNet::Lexicon:0x7fd192d374b0 postgres>
         
     | 
| 
       29 
35 
     | 
    
         
             
            #
         
     | 
| 
       30 
36 
     | 
    
         
             
            # Alternatively, if you have the 'wordnet-defaultdb' gem (which includes an
         
     | 
| 
         @@ -33,7 +39,7 @@ require 'wordnet/word' 
     | 
|
| 
       33 
39 
     | 
    
         
             
            #
         
     | 
| 
       34 
40 
     | 
    
         
             
            #     lex = WordNet::Lexicon.new
         
     | 
| 
       35 
41 
     | 
    
         
             
            #     # => #<WordNet::Lexicon:0x7fdbfac1a358 sqlite:[...]/gems/wordnet-defaultdb-1.0.1
         
     | 
| 
       36 
     | 
    
         
            -
            #     #     /data/wordnet-defaultdb/ 
     | 
| 
      
 42 
     | 
    
         
            +
            #     #     /data/wordnet-defaultdb/wordnet31.sqlite>
         
     | 
| 
       37 
43 
     | 
    
         
             
            #
         
     | 
| 
       38 
44 
     | 
    
         
             
            # == Looking Up Synsets
         
     | 
| 
       39 
45 
     | 
    
         
             
            #
         
     | 
| 
         @@ -128,36 +134,10 @@ class WordNet::Lexicon 
     | 
|
| 
       128 
134 
     | 
    
         
             
            	log_to :wordnet
         
     | 
| 
       129 
135 
     | 
    
         | 
| 
       130 
136 
     | 
    
         | 
| 
       131 
     | 
    
         
            -
            	# Add the logger device to the default options after it's been loaded
         
     | 
| 
       132 
     | 
    
         
            -
            	WordNet::DEFAULT_DB_OPTIONS.merge!( :logger => [Loggability[WordNet]] )
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
137 
     | 
    
         
             
            	### Get the Sequel URI of the default database, if it's installed.
         
     | 
| 
       136 
138 
     | 
    
         
             
            	def self::default_db_uri
         
     | 
| 
       137 
     | 
    
         
            -
            		 
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
            		# Try to load the default database gem, ignoring it if it's not installed.
         
     | 
| 
       140 
     | 
    
         
            -
            		begin
         
     | 
| 
       141 
     | 
    
         
            -
            			gem 'wordnet-defaultdb'
         
     | 
| 
       142 
     | 
    
         
            -
            		rescue Gem::LoadError
         
     | 
| 
       143 
     | 
    
         
            -
            		end
         
     | 
| 
       144 
     | 
    
         
            -
             
     | 
| 
       145 
     | 
    
         
            -
            		# Now try the gem datadir first, and fall back to a local installation of the
         
     | 
| 
       146 
     | 
    
         
            -
            		# default db
         
     | 
| 
       147 
     | 
    
         
            -
            		datadir = nil
         
     | 
| 
       148 
     | 
    
         
            -
            		if Gem.datadir( 'wordnet-defaultdb' )
         
     | 
| 
       149 
     | 
    
         
            -
            			datadir = Pathname( Gem.datadir('wordnet-defaultdb') )
         
     | 
| 
       150 
     | 
    
         
            -
            		else
         
     | 
| 
       151 
     | 
    
         
            -
            			self.log.warn "  no defaultdb gem; looking for the development database"
         
     | 
| 
       152 
     | 
    
         
            -
            			datadir = Pathname( __FILE__ ).dirname.parent.parent +
         
     | 
| 
       153 
     | 
    
         
            -
            				'wordnet-defaultdb/data/wordnet-defaultdb'
         
     | 
| 
       154 
     | 
    
         
            -
            		end
         
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
       156 
     | 
    
         
            -
            		dbfile = datadir + 'wordnet30.sqlite'
         
     | 
| 
       157 
     | 
    
         
            -
            		self.log.debug "  dbfile is: %s" % [ dbfile ]
         
     | 
| 
       158 
     | 
    
         
            -
             
     | 
| 
       159 
     | 
    
         
            -
            		if dbfile.exist?
         
     | 
| 
       160 
     | 
    
         
            -
            			return "sqlite:#{dbfile}"
         
     | 
| 
      
 139 
     | 
    
         
            +
            		if defined?( WordNet::DefaultDB )
         
     | 
| 
      
 140 
     | 
    
         
            +
            			return WordNet::DefaultDB.uri
         
     | 
| 
       161 
141 
     | 
    
         
             
            		else
         
     | 
| 
       162 
142 
     | 
    
         
             
            			return nil
         
     | 
| 
       163 
143 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -181,6 +161,13 @@ class WordNet::Lexicon 
     | 
|
| 
       181 
161 
     | 
    
         | 
| 
       182 
162 
     | 
    
         
             
            		@db.sql_log_level = :debug
         
     | 
| 
       183 
163 
     | 
    
         
             
            		WordNet::Model.db = @db
         
     | 
| 
      
 164 
     | 
    
         
            +
            		WordNet::Model.descendents.each do |subclass|
         
     | 
| 
      
 165 
     | 
    
         
            +
            			self.log.debug "Switching DB for %p to %p" % [ subclass, @db ]
         
     | 
| 
      
 166 
     | 
    
         
            +
            			subclass.dataset = @db[ subclass.table_name ]
         
     | 
| 
      
 167 
     | 
    
         
            +
            		end
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
            		# Add the logger device after it's been loaded
         
     | 
| 
      
 170 
     | 
    
         
            +
            		@db.logger = Loggability[ self.class ]
         
     | 
| 
       184 
171 
     | 
    
         
             
            	end
         
     | 
| 
       185 
172 
     | 
    
         | 
| 
       186 
173 
     | 
    
         | 
| 
         @@ -189,7 +176,7 @@ class WordNet::Lexicon 
     | 
|
| 
       189 
176 
     | 
    
         
             
            		uri = WordNet::Lexicon.default_db_uri or raise WordNet::LexiconError,
         
     | 
| 
       190 
177 
     | 
    
         
             
            			"No default WordNetSQL database! You can install it via the " +
         
     | 
| 
       191 
178 
     | 
    
         
             
            			"wordnet-defaultdb gem, or download a version yourself from " +
         
     | 
| 
       192 
     | 
    
         
            -
            			"http://sourceforge.net/ 
     | 
| 
      
 179 
     | 
    
         
            +
            			"http://sqlunet.sourceforge.net/"
         
     | 
| 
       193 
180 
     | 
    
         
             
            		@db = self.connect( uri, options )
         
     | 
| 
       194 
181 
     | 
    
         
             
            	end
         
     | 
| 
       195 
182 
     | 
    
         | 
| 
         @@ -277,7 +264,7 @@ class WordNet::Lexicon 
     | 
|
| 
       277 
264 
     | 
    
         
             
            	###   definition using a LIKE query.
         
     | 
| 
       278 
265 
     | 
    
         
             
            	###
         
     | 
| 
       279 
266 
     | 
    
         
             
            	def lookup_synsets( word, *args )
         
     | 
| 
       280 
     | 
    
         
            -
            		dataset = WordNet::Synset.filter( : 
     | 
| 
      
 267 
     | 
    
         
            +
            		dataset = WordNet::Synset.filter( words: WordNet::Word.filter(lemma: word.to_s) )
         
     | 
| 
       281 
268 
     | 
    
         
             
            		self.log.debug "Looking up synsets for %p" % [ word.to_s ]
         
     | 
| 
       282 
269 
     | 
    
         | 
| 
       283 
270 
     | 
    
         
             
            		# Add filters to the dataset for each argument
         
     | 
| 
         @@ -287,11 +274,11 @@ class WordNet::Lexicon 
     | 
|
| 
       287 
274 
     | 
    
         | 
| 
       288 
275 
     | 
    
         
             
            			when Integer
         
     | 
| 
       289 
276 
     | 
    
         
             
            				self.log.debug "  limiting to sense %d" % [ arg ]
         
     | 
| 
       290 
     | 
    
         
            -
            				dataset = dataset.limit( 1, arg-1 )
         
     | 
| 
      
 277 
     | 
    
         
            +
            				dataset = dataset.order( :synsetid ).limit( 1, arg-1 )
         
     | 
| 
       291 
278 
     | 
    
         | 
| 
       292 
279 
     | 
    
         
             
            			when Range
         
     | 
| 
       293 
280 
     | 
    
         
             
            				self.log.debug "  limiting to range of senses: %p" % [ arg ]
         
     | 
| 
       294 
     | 
    
         
            -
            				dataset = dataset.limit( arg.entries.length, arg.begin - 1 )
         
     | 
| 
      
 281 
     | 
    
         
            +
            				dataset = dataset.order( :synsetid ).limit( arg.entries.length, arg.begin - 1 )
         
     | 
| 
       295 
282 
     | 
    
         | 
| 
       296 
283 
     | 
    
         
             
            			when Regexp
         
     | 
| 
       297 
284 
     | 
    
         
             
            				self.log.debug "  filter: definition =~ %p" % [ arg ]
         
     |