pt.tumba.links
Class CoCitation

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

public class CoCitation
extends java.lang.Object

Bibliographic Co-Citation is a popular similarity measure used to establish a subject similarity between two items. If A and B are both cited by C, they may be said to be related to one another, even though they don't directly reference each other. If A and B are both cited by many other items, they have a stronger relationship. The more items they are cited by, the stronger their relationship is. Co-Citation 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

Field Summary
private  WebGraph graph
          The data structure containing the Web linkage graph
private  java.util.Map scores
          A Map containing the CoCitation values for each page
 
Constructor Summary
CoCitation(WebGraph graph)
          Constructor for CoCitation
 
Method Summary
private  java.util.Map cocitation(java.lang.Integer id)
          Returns the CoCitation score between a given link identifyer and all other links in the Web graph
private  java.lang.Double cocitation(java.lang.Integer id1, java.lang.Integer id2)
          Returns the CoCitation score between two given link identifyers Identifyers are Integer numberes, used in WebGraph to represent the Web graph for efficiency reasons.
 java.util.Map cocitation(java.lang.String link)
          Returns the CoCitation score between a given link and all other links in the Web graph
 java.lang.Double cocitation(java.lang.String link1, java.lang.String link2)
          Returns the CoCitation score between two given links
 void computeCocitation()
          Computes the CoCitation score for all the nodes with all the other in the Web graph.
private  void computeCocitation(java.lang.Integer id)
          Computes the CoCitation score for a given link identifyer with all the other links in the Web graph.
private  java.lang.Double computeCocitation(java.lang.Integer id1, java.lang.Integer id2)
          Computes the CoCitation score between two given link identifyers.
 void computeCocitation(java.lang.String link)
          Computes the cocitation score for a given link.
 
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 CoCitation values for each page

Constructor Detail

CoCitation

public CoCitation(WebGraph graph)
Constructor for CoCitation

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

computeCocitation

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


computeCocitation

public void computeCocitation(java.lang.String link)
Computes the cocitation score for a given link.

Parameters:
link - The url for the link

cocitation

public java.util.Map cocitation(java.lang.String link)
Returns the CoCitation 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 CoCitation 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 CoCitation score

cocitation

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

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

cocitation

private java.util.Map cocitation(java.lang.Integer id)
Returns the CoCitation 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 CoCitation 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 CoCitation score

cocitation

private java.lang.Double cocitation(java.lang.Integer id1,
                                    java.lang.Integer id2)
Returns the CoCitation 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 CoCitation score between the two given link identifyers
See Also:
WebGraph.IdentifyerToURL()

computeCocitation

private void computeCocitation(java.lang.Integer id)
Computes the CoCitation 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()

computeCocitation

private java.lang.Double computeCocitation(java.lang.Integer id1,
                                           java.lang.Integer id2)
Computes the CoCitation 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()