Sha256: 0030fd5ea8325ece96d5246365b41c6879d3f7e0826be32669b1984bcbaf210c

Contents?: true

Size: 1.05 KB

Versions: 8

Compression:

Stored size: 1.05 KB

Contents

#!/usr/bin/ruby

require 'wordnet' unless defined?( WordNet )
require 'wordnet/constants'
require 'wordnet/model'

# WordNet semantic link (pointer) model class
class WordNet::SemanticLink < WordNet::Model( :semlinks )
	include WordNet::Constants


	set_primary_key [:synset1id, :synset2id, :linkid]

	many_to_one :origin,
		:class       => :"WordNet::Synset",
		:key         => :synset1id,
		:primary_key => :synsetid

	one_to_one :target,
		:class       => :"WordNet::Synset",
		:key         => :synsetid,
		:primary_key => :synset2id,
		:eager       => :words


	######
	public
	######

	### Return a stringified version of the SemanticLink.
	def to_s
		return "%s: %s (%s)" % [
			self.type,
			self.target.words.map( &:to_s ).join( ', ' ),
			self.target.pos,
		]
	end


	### Return the type of link as a Symbol.
	def type
		return WordNet::Synset.linktype_table[ self.linkid ][ :type ]
	end


	### Return the name of the link type as a String.
	def typename
		return WordNet::Synset.linktype_table[ self.linkid ][ :typename ]
	end

end # class WordNet::SemanticLink

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wordnet-1.0.0 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.141 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.140 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.139 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.136 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.134 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.127 lib/wordnet/semanticlink.rb
wordnet-1.0.0.pre.126 lib/wordnet/semanticlink.rb