pt.tumba.links
Class Coupling

java.lang.Object
  extended by pt.tumba.links.Coupling

public class Coupling
extends java.lang.Object

Bibliographic Coupling is a popular similarity measure used to establish a subject similarity between two items. It operates on a similar principle to that of Co-Citation, but in a way it is its mirror image. Bibliographic coupling links two items that reference the same items, so that if A and B both reference C, they may be said to be related, even though they don't directly reference each other. The more items they both reference in common, the stronger their relationship is. Bibliographic Coupling was first proposed in the fields of citation analysis and bibliometrics as a fundamental metric to characterize the similarity between documents. There is a vast literature on citation analysis, sometimes called scientometrics, a term that was invented by V. V. Nalimov. The field blossomed with the advent of the Science Citation Index, which now covers over fifty years of source literature. The leading journals of the field are Scientometrics and the Journal of the American Society of Information Science and Technology.

Author:
Bruno Martins
See Also:
CoCitation

Field Summary
private  WebGraph graph
          The data structure containing the Web linkage graph
private  java.util.Map scores
          A Map containing the Coupling values for each page
 
Constructor Summary
Coupling(WebGraph graph)
          Constructor for Coupling
 
Method Summary
 void computeCoupling()
          Computes the Coupling score for all the nodes with all the other in the Web graph.
private  void computeCoupling(java.lang.Integer id)
          Computes the Coupling score for a given link identifyer with all the other links in the Web graph.
private  java.lang.Double computeCoupling(java.lang.Integer id1, java.lang.Integer id2)
          Computes the Coupling score between two given link identifyers.
 void computeCoupling(java.lang.String link)
          Computes the Coupling score for a given link.
private  java.util.Map coupling(java.lang.Integer id)
          Returns the Coupling score between a given link identifyer and all other links in the Web graph
private  java.lang.Double coupling(java.lang.Integer id1, java.lang.Integer id2)
          Returns the Coupling score between two given link identifyers Identifyers are Integer numberes, used in WebGraph to represent the Web graph for efficiency reasons.
 java.util.Map coupling(java.lang.String link)
          Returns the Coupling score between a given link and all other links in the Web graph
 java.lang.Double coupling(java.lang.String link1, java.lang.String link2)
          Returns the Coupling score between two given links
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

graph

private WebGraph graph
The data structure containing the Web linkage graph


scores

private java.util.Map scores
A Map containing the Coupling values for each page

Constructor Detail

Coupling

public Coupling(WebGraph graph)
Constructor for Coupling

Parameters:
graph - The data structure containing the Web linkage graph
Method Detail

computeCoupling

public void computeCoupling()
Computes the Coupling score for all the nodes with all the other in the Web graph.


computeCoupling

public void computeCoupling(java.lang.String link)
Computes the Coupling score for a given link.

Parameters:
link - The url for the link

coupling

public java.util.Map coupling(java.lang.String link)
Returns the Coupling score between a given link and all other links in the Web graph

Parameters:
link - The url for the link
Returns:
A Map with the Coupling score between the given link and all other links in the Web graph. Keys in the Map are link identifyers for all the other links, and values correspond to the Coupling score

coupling

public java.lang.Double coupling(java.lang.String link1,
                                 java.lang.String link2)
Returns the Coupling score between two given links

Parameters:
link1 - The url for one of the links
link2 - The url for the other link
Returns:
The Coupling score between the given links

coupling

private java.util.Map coupling(java.lang.Integer id)
Returns the Coupling score between a given link identifyer and all other links in the Web graph

Parameters:
link - The identifyer for the link
Returns:
A Map with the Coupling score between the given link and all other links in the Web graph. Keys in the Map are link identifyers for all the other links, and values correspond to the Coupling score

coupling

private java.lang.Double coupling(java.lang.Integer id1,
                                  java.lang.Integer id2)
Returns the Coupling score between two given link identifyers Identifyers are Integer numberes, used in WebGraph to represent the Web graph for efficiency reasons.

Parameters:
link1 - The identifyer for one of the links
link2 - The identifyer for the other link
Returns:
The Coupling score between the two given link identifyers
See Also:
WebGraph.IdentifyerToURL()

computeCoupling

private void computeCoupling(java.lang.Integer id)
Computes the Coupling score for a given link identifyer with all the other links in the Web graph. Identifyers are Integer numberes, used in WebGraph to represent the Web graph for efficiency reasons.

Parameters:
link1 - The identifyer for the link
See Also:
WebGraph.IdentifyerToURL()

computeCoupling

private java.lang.Double computeCoupling(java.lang.Integer id1,
                                         java.lang.Integer id2)
Computes the Coupling score between two given link identifyers. Identifyers are Integer numberes, used in WebGraph to represent the Web graph for efficiency reasons.

Parameters:
link1 - The identifyer for one of the links
link2 - The identifyer for the other link
See Also:
WebGraph.IdentifyerToURL()