nz.ac.waikato.mcennis.rat.graph.algorithm
Class AddBasicInterestLink

java.lang.Object
  extended by nz.ac.waikato.mcennis.rat.graph.model.ModelShell
      extended by nz.ac.waikato.mcennis.rat.graph.algorithm.AddBasicInterestLink
All Implemented Interfaces:
java.io.Serializable, Component, Algorithm, Model

public class AddBasicInterestLink
extends ModelShell
implements Algorithm

Creates an interest link using exponential similarity to take bag-of-words from a property list to create a link between actors represetning the degree of which their interest overlaps.

See Also:
Serialized Form

Field Summary
static long serialVersionUID
           
 
Fields inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
listener
 
Constructor Summary
AddBasicInterestLink()
          Creates a new instance of BasicInterestLink
 
Method Summary
 void compareInterests(java.lang.Object[] left, java.lang.Object[] right, double betweeness)
          Exponential similarity measure between two users.
 void execute(Graph g)
          Reads a property list on each actors and calculate all similar actors connected with a given link set.
 InputDescriptor[] getInputType()
          The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object.
 OutputDescriptor[] getOutputType()
          The output type describes all the different kinds of graph objects that are created during the execution of this algorithm.
 Parameter[] getParameter()
          List of all parameters this component accepts.
 Parameter getParameter(java.lang.String param)
          Returns the specific parameter identified by its key-name.
 SettableParameter[] getSettableParameter()
          Returns settable (i.e.
 SettableParameter getSettableParameter(java.lang.String param)
          Return the settable parameter namede by this key-name.
 void init(java.util.Properties map)
          Parameters for intializing this object 'name' - Name of this isntance of the algorithm.
 
Methods inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
addListener, fireChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nz.ac.waikato.mcennis.rat.graph.model.Model
addListener
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

AddBasicInterestLink

public AddBasicInterestLink()
Creates a new instance of BasicInterestLink

Method Detail

execute

public void execute(Graph g)
Reads a property list on each actors and calculate all similar actors connected with a given link set.

Specified by:
execute in interface Algorithm
Parameters:
g - graph to be modified

compareInterests

public void compareInterests(java.lang.Object[] left,
                             java.lang.Object[] right,
                             double betweeness)
Exponential similarity measure between two users. All words are binary on-off Algorithm: positiveBase*(1+positiveExponent*actorBetweeness)^(#shared Interest) - negativeBase*(1+negativeExponent*actorBetweeness)^(left actor # interest - #shared Interest)

Parameters:
left - source of link
right - destination of link
betweeness - betweeness value of destination

getInputType

public InputDescriptor[] getInputType()
Description copied from interface: Component
The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object. This result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no input.

Specified by:
getInputType in interface Component
Returns:
InputDescriptor array for this component
See Also:
InputDescriptor

getOutputType

public OutputDescriptor[] getOutputType()
Description copied from interface: Component
The output type describes all the different kinds of graph objects that are created during the execution of this algorithm. The result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no output.

Specified by:
getOutputType in interface Component
Returns:
OutputDescriptor array for this component
See Also:
OutputDescriptor

getParameter

public Parameter[] getParameter()
Description copied from interface: Component
List of all parameters this component accepts. Each parameter also has a distinct key-name used when initializing the object using the init method. If there are no parameters, null is returned.

Specified by:
getParameter in interface Component
Returns:
read-only array of Parameters

getParameter

public Parameter getParameter(java.lang.String param)
Description copied from interface: Component
Returns the specific parameter identified by its key-name. If no parameter is found with this key-name, null is returned.

Specified by:
getParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named parameter

getSettableParameter

public SettableParameter[] getSettableParameter()
Description copied from interface: Component
Returns settable (i.e. editable while running) parameters. If none exist, null is returned.

Specified by:
getSettableParameter in interface Component
Returns:
array of settable parameters

getSettableParameter

public SettableParameter getSettableParameter(java.lang.String param)
Description copied from interface: Component
Return the settable parameter namede by this key-name. If this parameter is not found or is not settable, null is returned.

Specified by:
getSettableParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named settable parameter

init

public void init(java.util.Properties map)
Parameters for intializing this object
  1. 'name' - Name of this isntance of the algorithm. Default is 'Basic Interest Link'
  2. 'relation' - Name of the link type (relation) to be used. Default is 'Knows'
  3. 'actorType' - name of the actor type (mode) to be used. Default is 'User'
  4. 'dataPropertyType' - name of the property where interests are stored. Default is 'interest'.
  5. 'outputLinkType' - name of the type (relation) of link to be created. Default is 'Interest'.
  6. 'adjustorPropertyType' - name of the property type where prestige is stored. Default is 'Knows Betweeness'.
  7. 'positiveBase' - see compareInterests. Default is '2.0'.
  8. 'positiveExponent' - see compareInterests. Default is '0.5'.
  9. 'negativeBase' - see compareInterests. Default is '0.5'.
  10. 'negativeExponent' - see compareInterests Default is '0.3'.
inputs
  1. Link
  2. Property - list of interests
  3. Property - prestige scores of actors
outputs
  1. Link - Interest links between actors

Specified by:
init in interface Component
Parameters:
map - set of parameters for this object