Cross Reference:
xref
: /
ontohub
/
app
/
models
/
entity_mapping.rb
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
entity_mapping.rb revision a7cf25d28b2c55aebaeebcdc84288f0c5de13051
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
class
EntityMapping
<
ActiveRecord
::
Base
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
belongs_to
:
source
,
class_name
:
"Entity"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
belongs_to
:
target
,
class_name
:
"Entity"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
belongs_to
:
link
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
attr_accessible
:
link
, :
source
, :
target
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
KINDS
= %w
(
subsumes
is
-
subsumed
equivalent
incompatible
has
-
instance
instance
-
of
default
-
relation
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
def
to_s
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
"#{
self.source
} → #{
self.target
}"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
def
apply
(
sentence
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
sentence.text.gsub
(
source.name
,
target.name
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
def
applicable
?
(
sentence
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
if
sentence.is
_a
?
(
TranslatedSentence
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
mapping
=
sentence.entity
_mapping
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
entity_ids
= [
mapping.source
_id
,
mapping.target
_id
]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
else
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
entity_ids
=
sentence.entities.pluck
(:
id
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
entity_ids.include
?
(
self.source
_id
)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen
end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
Timo Sirainen