projects
/
graph.njae.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7f4cb17
)
Expanded a couple of comments, bumped the gem patch level
author
Neil Smith
<neil.github@njae.me.uk>
Fri, 18 May 2012 14:29:29 +0000
(15:29 +0100)
committer
Neil Smith
<neil.github@njae.me.uk>
Fri, 18 May 2012 14:29:29 +0000
(15:29 +0100)
lib/graph.njae/graph.rb
patch
|
blob
|
history
diff --git
a/lib/graph.njae/graph.rb
b/lib/graph.njae/graph.rb
index 27ee54ff994338ee816141f2c8c15cc29d69e711..bdf75b231e0089ec0acbae0dfc9c2f5fb6d2ce8b 100644
(file)
--- a/
lib/graph.njae/graph.rb
+++ b/
lib/graph.njae/graph.rb
@@
-66,6
+66,10
@@
module GraphNjae
end
end
+ # Calculates the initial similarity of each vertex in a product graph.
+ # If passed an optional block, that block is used to find the
+ # initial similarity. If no block is given, every vertex is given
+ # an initial similarity of 1.0.
def initial_similarity
self.vertices.each do |v|
if block_given?
def initial_similarity
self.vertices.each do |v|
if block_given?
@@
-77,8
+81,16
@@
module GraphNjae
end
end
end
end
- # Performs similarity flooding on a graph
+ # Performs similarity flooding on a graph, as described by
+ # Sergey Melnik, Hector Garcia-Molina, and Erhard Rahm,
+ # "Similarity Flooding: A Versatile Graph Matching Algorithm
+ # and its Application to Schema Matching", Proceedings of
+ # the 18th International Conference on Data Engineering (ICDE’02)
+ #
# Assumes that the initial similarity has already been calculated
# Assumes that the initial similarity has already been calculated
+ # If passed an optional block, it uses that block to update the
+ # similarity on each iteration. If no block is passed, it uses the
+ # default similarity updating method from the paper.
def similarity_flood(opts = {})
max_iterations = opts[:iterations] || 100
max_residual = opts[:max_residual] || 0.001
def similarity_flood(opts = {})
max_iterations = opts[:iterations] || 100
max_residual = opts[:max_residual] || 0.001