package esl.cuenet.ranking.rankers;
import esl.cuenet.ranking.PropagationFunction;
import esl.cuenet.ranking.TypedEdge;
import esl.cuenet.ranking.URINode;
import esl.cuenet.ranking.network.OntProperties;
public class EventEntityPropagationFunction extends NodeEvaluator implements PropagationFunction {
int ix = 0;
@Override
public boolean matchStartNode(URINode start) {
return isEvent(start);
}
@Override
public boolean matchEdge(TypedEdge edge) {
if (edge == null) return false;
if ( !edge.hasProperty(OntProperties.ONT_URI) ) return false;
return edge.getProperty(OntProperties.ONT_URI).equals(participatesInPropertyURI);
}
@Override
public boolean matchEndNode(URINode end) {
return isEntity(end);
}
@Override
public double propagate(URINode start, TypedEdge edge, URINode end, double startNodeScore) {
ix++;
return startNodeScore * _DAMPNER;
}
public int count() {
return ix;
}
}