本文整理汇总了C#中Graph类的典型用法代码示例。如果您正苦于以下问题:C# Graph类的具体用法?C# Graph怎么用?C# Graph使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Graph类属于命名空间,在下文中一共展示了Graph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NodesDistinct
public void NodesDistinct()
{
Graph g = new Graph();
List<INode> test = new List<INode>()
{
g.CreateUriNode("rdf:type"),
g.CreateUriNode(new Uri("http://example.org")),
g.CreateBlankNode(),
g.CreateBlankNode(),
null,
g.CreateBlankNode("test"),
g.CreateLiteralNode("Test text"),
g.CreateLiteralNode("Test text", "en"),
g.CreateLiteralNode("Test text", new Uri(XmlSpecsHelper.XmlSchemaDataTypeString)),
g.CreateUriNode("rdf:type"),
null,
g.CreateUriNode(new Uri("http://example.org#test")),
g.CreateUriNode(new Uri("http://example.org"))
};
foreach (INode n in test.Distinct())
{
if (n != null)
{
Console.WriteLine(n.ToString());
}
else
{
Console.WriteLine("null");
}
}
}
示例2: FormSprite
int widthForm, heightForm; // размеры основной формы
#endregion Fields
#region Constructors
public FormSprite()
{
InitializeComponent();
widthForm = this.Size.Width;
heightForm = this.Size.Height;
stepNet = 10;
stepShift = 1;
toolStripLabelXW.Text = "xW=" + this.Size.Width;
toolStripLabelYW.Text = "yW=" + this.Size.Height;
toolStripComboBoxWidthPen.SelectedIndex = 2;
toolStripComboBoxStepNet.SelectedIndex = 0;
toolStripComboBoxShift.SelectedIndex = 0;
graph = new Graph(picture.Width, picture.Height);
sprite = new Sprite();
currPens = new DataSprite.Pens(ColorTranslator.ToHtml(Color.Black), 3);
currFigure = new MyLine(currPens, 1, 1, 1, 1);
flagLine = false;
picture.Image = graph.GetBitmap;
}
示例3: BuildLevel
public void BuildLevel(Board board)
{
var children = new List<GameObject>();
foreach (Transform child in transform)
children.Add(child.gameObject);
children.ForEach(child => Destroy(child));
originalMatrix = board.Grid;
matrix = PrepareMatrix(originalMatrix);
int n = board.NoRooms;
floors = new Floor[matrix.GetLength(0)-2,matrix.GetLength(1)-2];
walls = new Wall[matrix.GetLength(0)-1, matrix.GetLength(1)-1];
Rooms = new Room[n];
graph = new Graph();
for (int i = 0; i < n; ++i)
{
Rooms[i] = new Room(i+1, DefaultFloorMaterial);
}
RoomPropertiesPanel.InitializePanel(n);
Vector3 shift = new Vector3(((matrix.GetLength(1) - 2) * unit) / 2, 0f, ((matrix.GetLength(0) - 2) * -unit) / 2);
this.transform.position = shift;
SpawnWalls();
SpawnFloors();
SpawnDoors();
foreach (var room in Rooms)
{
room.SetRoomMaterial();
}
isSaved = false;
}
示例4: SymbolGraph
public SymbolGraph(string[] graphData, char sp)
{
st = new BST<string, string>();
for (int i = 0; i < graphData.Length; i++)
{
string[] a = graphData[i].Split(sp);
foreach (string s in a)
{
if (!st.Contains(s))
{
st.Put(s, st.Size().ToString());
}
}
}
keys = new string[st.Size()];
foreach (string key in st.Keys())
{
keys[int.Parse(st.Get(key))] = key;
}
graph = new Graph(st.Size());
foreach (string data in graphData)
{
string[] a = data.Split(sp);
int v = int.Parse(st.Get(a[0]));
for (int i = 1; i < a.Length; i++)
{
graph.AddEdge(v, int.Parse(st.Get(a[i])));
}
}
}
示例5: StorageSesameSaveLoad
public void StorageSesameSaveLoad()
{
try
{
Graph g = new Graph();
FileLoader.Load(g, "InferenceTest.ttl");
g.BaseUri = new Uri("http://example.org/SesameTest");
SesameHttpProtocolConnector sesame = new SesameHttpProtocolConnector("http://nottm-virtual.ecs.soton.ac.uk:8080/openrdf-sesame/", "unit-test");
sesame.SaveGraph(g);
//Options.HttpDebugging = true;
//Options.HttpFullDebugging = true;
Graph h = new Graph();
sesame.LoadGraph(h, "http://example.org/SesameTest");
Assert.IsFalse(h.IsEmpty, "Graph should not be empty after loading");
Assert.AreEqual(g, h, "Graphs should have been equal");
}
catch (Exception ex)
{
TestTools.ReportError("Error", ex, true);
}
finally
{
//Options.HttpFullDebugging = false;
//Options.HttpDebugging = true;
}
}
示例6: VoIDDescription
/// <summary>
/// Creates a new VoID Description which is loaded from the given URI
/// </summary>
/// <param name="u">URI</param>
public VoIDDescription(Uri u)
{
Graph g = new Graph();
UriLoader.Load(g, u);
this.Initialise(g);
}
示例7: LoadData
private void LoadData()
{
var rows = File.ReadAllLines(DataFile);
graphDepth = rows.Length;
graph = new Graph(0) {PathLength = int.Parse(rows[0])};
var lastGraphs = new Graph[1];
lastGraphs[0] = graph;
for (var i = 1; i < rows.Length; i++)
{
var values = rows[i].Split(' ').Select(int.Parse).ToArray();
var graphs = new Graph[values.Length];
for (var j = 0; j < values.Length; j++)
{
graphs[j] = new Graph(i);
if (j != values.Length - 1)
{
lastGraphs[j].connectionList.Add(graphs[j], values[j]);
}
if (j != 0)
{
lastGraphs[j-1].connectionList.Add(graphs[j], values[j]);
}
}
lastGraphs = graphs;
}
}
示例8: CheckCompressionRoundTrip
private void CheckCompressionRoundTrip(IGraph g)
{
foreach (KeyValuePair<IRdfWriter, IRdfReader> kvp in this._compressers)
{
IRdfWriter writer = kvp.Key;
if (writer is ICompressingWriter)
{
((ICompressingWriter)writer).CompressionLevel = WriterCompressionLevel.High;
}
if (writer is IHighSpeedWriter)
{
((IHighSpeedWriter)writer).HighSpeedModePermitted = false;
}
System.IO.StringWriter strWriter = new System.IO.StringWriter();
writer.Save(g, strWriter);
Console.WriteLine("Compressed Output using " + kvp.Key.GetType().Name);
Console.WriteLine(strWriter.ToString());
Console.WriteLine();
Graph h = new Graph();
StringParser.Parse(h, strWriter.ToString(), kvp.Value);
Assert.AreEqual(g, h, "Graphs should be equal after round trip to and from serialization using " + kvp.Key.GetType().Name);
}
}
示例9: hasAdjacentNodeTest
public void hasAdjacentNodeTest()
{
try
{
Graph g = new Graph();
Node n1 = new PointOfInterest(1, 0, 0, 1);
Node n2 = new PointOfInterest(2, 0, 0, 1);
Node n3 = new PointOfInterest(3, 0, 0, 1);
g.InsertNewVertex(n1);
g.InsertNewVertex(n2);
g.InsertNewVertex(n3);
n1.addListOfAdjacentNodes(new Dictionary<Node, float>() { { n2, 4 } });
n2.addListOfAdjacentNodes(new Dictionary<Node, float>() { { n1, 3 } });
Assert.IsNotNull(g);
Assert.IsNotNull(n1);
Assert.IsNotNull(n2);
Assert.IsNotNull(n3);
Assert.True(n1.isAdjacent(n2),
"This tests if isAdjacent returns true if a node is adjacent to a given one.");
}
catch (SecurityException e)
{
Console.WriteLine("Security Exception:\n\n{0}", e.Message);
}
}
示例10: Main
public static void Main()
{
var graph = new Graph(new[]
{
new List<int> {3, 6}, // children of node 0 (Ruse)
new List<int> {2, 3, 4, 5, 6}, // children of node 1 (Sofia)
new List<int> {1, 4, 5}, // children of node 2 (Pleven)
new List<int> {0, 1, 5}, // children of node 3 (Varna)
new List<int> {1, 2, 6}, // children of node 4 (Bourgas)
new List<int> {1, 2, 3}, // children of node 5 (Stara Zagora)
new List<int> {0, 1, 4} // children of node 6 (Plovdiv)
},
new string[] { "Ruse", "Sofia", "Pleven", "Varna", "Bourgas", "Stara Zagora", "Plovdiv" }
);
// Print the nodes and their children
for (int nodeIndex = 0; nodeIndex < graph.ChildNodes.Length; nodeIndex++)
{
Console.WriteLine("{0} -> {1}", nodeIndex,
string.Join(" ", graph.ChildNodes[nodeIndex]));
}
Console.WriteLine();
// Print the node names and their children names
for (int nodeIndex = 0; nodeIndex < graph.ChildNodes.Length; nodeIndex++)
{
Console.WriteLine("{0} -> {1}",
graph.NodeNames[nodeIndex],
string.Join(", ", graph.ChildNodes[nodeIndex]
.Select(node => graph.NodeNames[node])));
}
}
示例11: Simple
public void Simple()
{
var graph = new Graph<int>(false);
var vertices = new Vertex<int>[20];
for (var i = 0; i < 20; i++)
{
vertices[i] = new Vertex<int>(i);
graph.AddVertex(vertices[i]);
}
for (var i = 0; i < 17; i += 2)
{
var edge = new Edge<int>(vertices[i], vertices[i + 2], false);
graph.AddEdge(edge);
}
var trackingVisitor = new TrackingVisitor<int>();
graph.AcceptVisitor(trackingVisitor);
Assert.AreEqual(trackingVisitor.TrackingList.Count, 20);
for (var i = 0; i < 20; i++)
{
Assert.IsTrue(trackingVisitor.TrackingList.Contains(i));
}
}
示例12: GenerateDiagram
internal override IList<Node> GenerateDiagram(Graph graph, Node parentNode)
{
var result = base.GenerateDiagram(graph, parentNode);
var node = result[0];
node.EscalationLevel = EscalationLevel;
if (Escalations != null )
{
foreach (var escalation in Escalations)
{
var nodes = escalation.GenerateDiagram(graph, node);
foreach (var childNode in nodes)
{
var link = graph.Links.FirstOrDefault(l => l.From == node && l.To == childNode);
if (link != null)
{
link.Text = $"Escalation Level {Escalations.IndexOf(escalation) + 1}";
link.Category = "Escalation";
}
}
}
}
return result;
}
示例13: PotentialMethod
public PotentialMethod(Graph<int> orientedGraph, List<int> production)
{
S = orientedGraph;
Production = production;
IsFirstPhaseNeeded = true;
}
示例14: SparqlFunctionsIsNumeric
public void SparqlFunctionsIsNumeric()
{
Graph g = new Graph();
IUriNode subj = g.CreateUriNode(new Uri("http://example.org/subject"));
IUriNode pred = g.CreateUriNode(new Uri("http://example.org/predicate"));
g.Assert(subj, pred, (12).ToLiteral(g));
g.Assert(subj, pred, g.CreateLiteralNode("12"));
g.Assert(subj, pred, g.CreateLiteralNode("12", new Uri(XmlSpecsHelper.XmlSchemaDataTypeNonNegativeInteger)));
g.Assert(subj, pred, g.CreateLiteralNode("12", new Uri(XmlSpecsHelper.XmlSchemaDataTypeNonPositiveInteger)));
g.Assert(subj, pred, g.CreateLiteralNode("1200", new Uri(XmlSpecsHelper.XmlSchemaDataTypeByte)));
g.Assert(subj, pred, ((byte)50).ToLiteral(g));
g.Assert(subj, pred, g.CreateLiteralNode("-50", new Uri(XmlSpecsHelper.XmlSchemaDataTypeByte)));
g.Assert(subj, pred, g.CreateLiteralNode("-50", new Uri(XmlSpecsHelper.XmlSchemaDataTypeUnsignedByte)));
g.Assert(subj, pred, g.CreateUriNode(new Uri("http://example.org")));
TripleStore store = new TripleStore();
store.Add(g);
SparqlQueryParser parser = new SparqlQueryParser();
SparqlQuery q = parser.ParseFromString("SELECT ?obj (IsNumeric(?obj) AS ?IsNumeric) WHERE { ?s ?p ?obj }");
Object results = store.ExecuteQuery(q);
Assert.IsTrue(results is SparqlResultSet, "Result should be a SPARQL Result Set");
TestTools.ShowResults(results);
}
示例15: RepresentativeTable
// Constructor for creating a new representative table. We directly fill the table depending on the given sequence.
public RepresentativeTable(Graph graph, Tree tree)
{
// Initialize the table
_table = new Dictionary<BitSet, RepresentativeList>();
Queue<BitSet> queue = new Queue<BitSet>();
queue.Enqueue(tree.Root);
_table[new BitSet(0, graph.Size)] = new RepresentativeList();
int i = 0;
while (queue.Count != 0)
{
BitSet node = queue.Dequeue();
FillTable(graph, node);
FillTable(graph, graph.Vertices - node);
if (tree.LeftChild.ContainsKey(node))
{
queue.Enqueue(tree.LeftChild[node]);
}
if (tree.RightChild.ContainsKey(node))
{
queue.Enqueue(tree.RightChild[node]);
}
}
}