unity.util
Class DGraph
java.lang.Object
unity.util.DGraph
public class DGraph
- extends java.lang.Object
Method Summary |
boolean |
addEdge(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel,
int weight)
|
boolean |
addEdge(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel,
java.lang.String edgeLabel,
int weight)
|
boolean |
addEdge(java.lang.String from,
java.lang.String to,
java.lang.String label,
int w,
java.lang.Object join)
|
boolean |
addNode(java.lang.String label,
int weight)
|
boolean |
addNode(java.lang.String label,
int weight,
java.lang.Object ob)
|
void |
clearAllMarkers()
|
void |
clearAllVisited()
|
java.lang.Object |
clone()
|
DGraph |
computeMST(java.lang.String root)
|
java.util.ArrayList |
computeMSTKruskal(java.util.ArrayList tableNames,
java.util.ArrayList edgeList)
|
java.util.ArrayList |
computeMSTPrim(java.lang.String root)
|
void |
Dijkstra(java.lang.String nodeLabel)
|
DGraph.Edge |
findMaxInEdge(java.lang.String node)
|
DGraph.Edge |
getEdge(java.lang.String edgeLabel)
|
DGraph.Edge |
getEdge(java.lang.String toNodeLabel,
java.lang.String edgeLabel)
|
DGraph.Edge |
getEdgeByNodes(java.lang.String toNodeLabel,
java.lang.String fromNodeLabel)
|
java.util.ArrayList |
getEdgeList()
|
java.util.ArrayList |
getIncomingEdges(java.lang.String nodeLabel)
|
java.util.ArrayList |
getJoinPath(java.util.ArrayList tableNames,
java.util.ArrayList specifiedJoins)
Create completely connected graph of vertices in the semantic query with edge weights
as path distances. |
DGraph.Node |
getNode(java.lang.String nodeLabel)
|
java.util.TreeMap |
getNodeList()
|
java.util.ArrayList |
getNodeMap()
|
java.util.ArrayList |
getNodes()
|
java.util.ArrayList |
getOutgoingEdges(java.lang.String nodeLabel)
|
java.util.ArrayList |
getPath(java.lang.String s,
java.lang.String v,
DGraph d)
|
int |
getTotalWeight()
|
int |
getWeight(java.lang.String nodeLabel)
|
boolean |
hasCycle()
|
boolean |
isEdge(java.lang.String edgeLabel)
|
boolean |
isEdgeByNodes(java.lang.String fromNode,
java.lang.String toNode)
|
boolean |
isFKeyInPKey(AnnotatedSourceKey pkey,
AnnotatedSourceForeignKey fkey)
|
int |
numNodes()
|
void |
print()
|
void |
printPath(int s,
int v,
DGraph.Edge[] paths)
|
void |
quicksort(java.util.ArrayList a,
int p,
int r)
|
void |
removeAllEdges()
|
void |
removeEdge(java.lang.String edgeLabel)
|
void |
removeEdgeByNodes(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel)
|
void |
removeIncomingEdges(java.lang.String node)
|
void |
removeNode(java.lang.String nodeLabel)
|
void |
setNodeMap(java.util.ArrayList nodes)
|
void |
shortestAllVertices()
|
void |
storePathData(java.lang.String startLabel)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAX_VAL
public static final int MAX_VAL
- See Also:
- Constant Field Values
MIN_VAL
public static final int MIN_VAL
- See Also:
- Constant Field Values
DGraph
public DGraph()
getNodeMap
public java.util.ArrayList getNodeMap()
setNodeMap
public void setNodeMap(java.util.ArrayList nodes)
addNode
public boolean addNode(java.lang.String label,
int weight)
addNode
public boolean addNode(java.lang.String label,
int weight,
java.lang.Object ob)
getNode
public DGraph.Node getNode(java.lang.String nodeLabel)
getWeight
public int getWeight(java.lang.String nodeLabel)
numNodes
public int numNodes()
removeNode
public void removeNode(java.lang.String nodeLabel)
getNodes
public java.util.ArrayList getNodes()
getNodeList
public java.util.TreeMap getNodeList()
addEdge
public boolean addEdge(java.lang.String from,
java.lang.String to,
java.lang.String label,
int w,
java.lang.Object join)
addEdge
public boolean addEdge(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel,
java.lang.String edgeLabel,
int weight)
addEdge
public boolean addEdge(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel,
int weight)
getEdge
public DGraph.Edge getEdge(java.lang.String edgeLabel)
getTotalWeight
public int getTotalWeight()
getEdge
public DGraph.Edge getEdge(java.lang.String toNodeLabel,
java.lang.String edgeLabel)
getEdgeByNodes
public DGraph.Edge getEdgeByNodes(java.lang.String toNodeLabel,
java.lang.String fromNodeLabel)
removeEdge
public void removeEdge(java.lang.String edgeLabel)
removeEdgeByNodes
public void removeEdgeByNodes(java.lang.String fromNodeLabel,
java.lang.String toNodeLabel)
isEdgeByNodes
public boolean isEdgeByNodes(java.lang.String fromNode,
java.lang.String toNode)
isEdge
public boolean isEdge(java.lang.String edgeLabel)
getIncomingEdges
public java.util.ArrayList getIncomingEdges(java.lang.String nodeLabel)
getOutgoingEdges
public java.util.ArrayList getOutgoingEdges(java.lang.String nodeLabel)
removeIncomingEdges
public void removeIncomingEdges(java.lang.String node)
findMaxInEdge
public DGraph.Edge findMaxInEdge(java.lang.String node)
getEdgeList
public java.util.ArrayList getEdgeList()
removeAllEdges
public void removeAllEdges()
hasCycle
public boolean hasCycle()
clone
public java.lang.Object clone()
- Overrides:
clone
in class java.lang.Object
shortestAllVertices
public void shortestAllVertices()
Dijkstra
public void Dijkstra(java.lang.String nodeLabel)
isFKeyInPKey
public boolean isFKeyInPKey(AnnotatedSourceKey pkey,
AnnotatedSourceForeignKey fkey)
storePathData
public void storePathData(java.lang.String startLabel)
getPath
public java.util.ArrayList getPath(java.lang.String s,
java.lang.String v,
DGraph d)
printPath
public void printPath(int s,
int v,
DGraph.Edge[] paths)
getJoinPath
public java.util.ArrayList getJoinPath(java.util.ArrayList tableNames,
java.util.ArrayList specifiedJoins)
- Create completely connected graph of vertices in the semantic query with edge weights
as path distances.
computeMSTKruskal
public java.util.ArrayList computeMSTKruskal(java.util.ArrayList tableNames,
java.util.ArrayList edgeList)
computeMSTPrim
public java.util.ArrayList computeMSTPrim(java.lang.String root)
computeMST
public DGraph computeMST(java.lang.String root)
print
public void print()
clearAllMarkers
public void clearAllMarkers()
clearAllVisited
public void clearAllVisited()
quicksort
public void quicksort(java.util.ArrayList a,
int p,
int r)