本文整理汇总了C#中VDS.RDF.Graph.CreateBlankNode方法的典型用法代码示例。如果您正苦于以下问题:C# Graph.CreateBlankNode方法的具体用法?C# Graph.CreateBlankNode怎么用?C# Graph.CreateBlankNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VDS.RDF.Graph
的用法示例。
在下文中一共展示了Graph.CreateBlankNode方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WritingBlankNodeOutput
public void WritingBlankNodeOutput()
{
//Create a Graph and add a couple of Triples which when serialized have
//potentially colliding IDs
Graph g = new Graph();
g.NamespaceMap.AddNamespace("ex", new Uri("http://example.org"));
IUriNode subj = g.CreateUriNode("ex:subject");
IUriNode pred = g.CreateUriNode("ex:predicate");
IUriNode name = g.CreateUriNode("ex:name");
IBlankNode b1 = g.CreateBlankNode("autos1");
IBlankNode b2 = g.CreateBlankNode("1");
g.Assert(subj, pred, b1);
g.Assert(b1, name, g.CreateLiteralNode("First Triple"));
g.Assert(subj, pred, b2);
g.Assert(b2, name, g.CreateLiteralNode("Second Triple"));
TurtleWriter ttlwriter = new TurtleWriter();
ttlwriter.Save(g, "bnode-output-test.ttl");
TestTools.ShowGraph(g);
TurtleParser ttlparser = new TurtleParser();
Graph h = new Graph();
ttlparser.Load(h, "bnode-output-test.ttl");
TestTools.ShowGraph(h);
Assert.AreEqual(g.Triples.Count, h.Triples.Count, "Expected same number of Triples after serialization and reparsing");
}
示例2: Main
public static void Main(string[] args)
{
StreamWriter output = new StreamWriter("HashCodeTests.txt");
Console.SetOut(output);
try
{
Console.WriteLine("## Hash Code Tests");
Console.WriteLine("Tests that Literal and URI Nodes produce different Hashes");
Console.WriteLine();
//Create the Nodes
Graph g = new Graph();
IUriNode u = g.CreateUriNode(new Uri("http://www.google.com"));
ILiteralNode l = g.CreateLiteralNode("http://www.google.com/");
Console.WriteLine("Created a URI and Literal Node both referring to 'http://www.google.com'");
Console.WriteLine("String form of URI Node is:");
Console.WriteLine(u.ToString());
Console.WriteLine("String form of Literal Node is:");
Console.WriteLine(l.ToString());
Console.WriteLine("Hash Code of URI Node is " + u.GetHashCode());
Console.WriteLine("Hash Code of Literal Node is " + l.GetHashCode());
Console.WriteLine("Hash Codes are Equal? " + u.GetHashCode().Equals(l.GetHashCode()));
Console.WriteLine("Nodes are equal? " + u.Equals(l));
//Create Triples
IBlankNode b = g.CreateBlankNode();
IUriNode type = g.CreateUriNode("rdf:type");
Triple t1, t2;
t1 = new Triple(b, type, u);
t2 = new Triple(b, type, l);
Console.WriteLine();
Console.WriteLine("Created two Triples stating a Blank Node has rdf:type of the Nodes created earlier");
Console.WriteLine("String form of Triple 1 (using URI Node) is:");
Console.WriteLine(t1.ToString());
Console.WriteLine("String form of Triple 2 (using Literal Node) is:");
Console.WriteLine(t2.ToString());
Console.WriteLine("Hash Code of Triple 1 is " + t1.GetHashCode());
Console.WriteLine("Hash Code of Triple 2 is " + t2.GetHashCode());
Console.WriteLine("Hash Codes are Equal? " + t1.GetHashCode().Equals(t2.GetHashCode()));
Console.WriteLine("Triples are Equal? " + t1.Equals(t2));
//Now going to look at the Hash Code collisions from the dotNetRDF Store
Console.WriteLine();
Console.WriteLine("Examing the Hash Code Collisions from one of our SQL Store test data sets");
// MicrosoftSqlStoreManager manager = new MicrosoftSqlStoreManager("localhost", "bbcone", "example", "password");
// DataTable collisions = manager.ExecuteQuery(@"SELECT * FROM TRIPLES WHERE tripleHash IN
// (
// SELECT tripleHash FROM TRIPLES GROUP BY tripleHash HAVING COUNT(tripleID)>1
// ) ORDER BY tripleHash");
// foreach (DataRow r in collisions.Rows)
// {
// String s, p, o;
// int hash;
// s = r["tripleSubject"].ToString();
// p = r["triplePredicate"].ToString();
// o = r["tripleObject"].ToString();
// hash = Int32.Parse(r["tripleHash"].ToString());
// INode subj = manager.LoadNode(g, s);
// INode pred = manager.LoadNode(g, p);
// INode obj = manager.LoadNode(g, o);
// Triple t = new Triple(subj, pred, obj);
// Console.WriteLine("Subject (ID " + s + "): " + subj.ToString() + " (Hash " + subj.GetHashCode() + ")");
// Console.WriteLine("Predicate (ID " + p + "): " + pred.ToString() + " (Hash " + pred.GetHashCode() + ")");
// Console.WriteLine("Object (ID " + o + "): " + obj.ToString() + " (Hash " + obj.GetHashCode() + ")");
// Console.WriteLine(t.ToString());
// Console.WriteLine("Triple Hash " + t.GetHashCode());
// Console.WriteLine("Triple Hash Code Construct " + subj.GetHashCode().ToString() + pred.GetHashCode().ToString() + obj.GetHashCode().ToString());
// Console.WriteLine("Triple Hash in Store " + hash);
// Console.WriteLine();
// }
// manager.Dispose();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
finally
{
output.Close();
}
}
示例3: Main
static void Main(string[] args)
{
//Going to create a Graph and assert some stuff into it
Graph g = new Graph();
//Try to read from a file
TurtleParser parser = new TurtleParser();
parser.TraceTokeniser = true;
parser.TraceParsing = true;
try
{
StreamReader input = new StreamReader("test.n3");
parser.Load(g, input);
}
catch (RDFException rdfEx)
{
reportError("RDF Exception", rdfEx);
}
catch (IOException ioEx)
{
reportError("IO Exception", ioEx);
}
catch (Exception ex)
{
reportError("Other Exception", ex);
}
Console.WriteLine();
Console.WriteLine();
//Show Namespaces
Console.WriteLine("All Namespaces");
foreach (String pre in g.NamespaceMap.Prefixes)
{
Console.WriteLine(pre + " = " + g.NamespaceMap.GetNamespaceURI(pre));
}
Console.WriteLine();
//Now print all the Statements
Console.WriteLine("All Statements");
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.ToString());
}
System.Threading.Thread.Sleep(60000);
return;
g.NamespaceMap.AddNamespace("vds", new Uri("http://www.vdesign-studios.com/dotNetRDF#"));
g.NamespaceMap.AddNamespace("ecs", new Uri("http://id.ecs.soton.ac.uk/person/"));
//g.BaseURI = g.NamespaceMap.GetNamespaceURI("vds");
URINode rav08r, wh, lac, hcd;
rav08r = g.CreateURINode("ecs:11471");
wh = g.CreateURINode("ecs:1650");
hcd = g.CreateURINode("ecs:46");
lac = g.CreateURINode("ecs:60");
BlankNode blank = g.CreateBlankNode();
URINode a, b, c, d, has;
a = g.CreateURINode("vds:someRel");
b = g.CreateURINode("vds:someOtherRel");
c = g.CreateURINode("vds:someObj");
d = g.CreateURINode("vds:someOtherObj");
has = g.CreateURINode("vds:has");
URINode supervises, collaborates, advises;
supervises = g.CreateURINode("vds:supervises");
collaborates = g.CreateURINode("vds:collaborates");
advises = g.CreateURINode("vds:advises");
LiteralNode singleLine = g.CreateLiteralNode("Some string");
LiteralNode multiLine = g.CreateLiteralNode("This goes over\n\nseveral\n\nlines");
LiteralNode french = g.CreateLiteralNode("Bonjour", "fr");
g.Assert(new Triple(wh, supervises, rav08r));
g.Assert(new Triple(lac, supervises, rav08r));
g.Assert(new Triple(hcd, advises, rav08r));
g.Assert(new Triple(wh, collaborates, lac));
g.Assert(new Triple(wh, collaborates, hcd));
g.Assert(new Triple(lac, collaborates, hcd));
//g.Assert(new Triple(rav08r, blank, c));
//g.Assert(new Triple(rav08r, blank, d));
g.Assert(new Triple(rav08r, has, singleLine));
g.Assert(new Triple(rav08r, has, multiLine));
g.Assert(new Triple(rav08r, has, french));
//Now print all the Statements
Console.WriteLine("All Statements");
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.ToString());
}
//Get statements about Rob Vesse
//.........这里部分代码省略.........
示例4: Main
public static void Main(string[] args)
{
//Stream for Output
StreamWriter output = new StreamWriter("SortingTests.txt");
Console.SetOut(output);
Console.WriteLine("## Sorting Test");
Console.WriteLine("NULLs < Blank Nodes < URI Nodes < Untyped Literals < Typed Literals");
Console.WriteLine();
//Create a Graph
Graph g = new Graph();
g.BaseUri = new Uri("http://example.org/");
g.NamespaceMap.AddNamespace("",new Uri("http://example.org/"));
//Create a list of various Nodes
List<INode> nodes = new List<INode>();
nodes.Add(g.CreateUriNode(":someUri"));
nodes.Add(g.CreateBlankNode());
nodes.Add(null);
nodes.Add(g.CreateBlankNode());
nodes.Add(g.CreateLiteralNode("cheese"));
nodes.Add(g.CreateLiteralNode("aardvark"));
nodes.Add(g.CreateLiteralNode(DateTime.Now.AddDays(-25).ToString(XmlSpecsHelper.XmlSchemaDateTimeFormat), new Uri(XmlSpecsHelper.XmlSchemaDataTypeDateTime)));
nodes.Add(g.CreateLiteralNode("duck"));
nodes.Add(g.CreateUriNode(":otherUri"));
nodes.Add(g.CreateLiteralNode("1.5",new Uri(XmlSpecsHelper.XmlSchemaDataTypeDouble)));
nodes.Add(g.CreateUriNode(new Uri("http://www.google.com")));
nodes.Add(g.CreateLiteralNode(DateTime.Now.AddYears(3).ToString(XmlSpecsHelper.XmlSchemaDateTimeFormat), new Uri(XmlSpecsHelper.XmlSchemaDataTypeDateTime)));
nodes.Add(g.CreateLiteralNode("23",new Uri(XmlSpecsHelper.XmlSchemaDataTypeInteger)));
nodes.Add(g.CreateLiteralNode("M43d", new Uri(XmlSpecsHelper.XmlSchemaDataTypeBase64Binary)));
nodes.Add(g.CreateUriNode(new Uri("http://www.dotnetrdf.org")));
nodes.Add(g.CreateLiteralNode("12",new Uri(XmlSpecsHelper.XmlSchemaDataTypeInteger)));
nodes.Add(g.CreateBlankNode("monkey"));
nodes.Add(g.CreateBlankNode());
nodes.Add(g.CreateLiteralNode("chaese"));
nodes.Add(g.CreateLiteralNode("1.0456345",new Uri(XmlSpecsHelper.XmlSchemaDataTypeDouble)));
nodes.Add(g.CreateLiteralNode("cheese"));
nodes.Add(g.CreateLiteralNode(Convert.ToBase64String(new byte[] { Byte.Parse("32") }), new Uri(XmlSpecsHelper.XmlSchemaDataTypeBase64Binary)));
nodes.Add(g.CreateLiteralNode("TA==", new Uri(XmlSpecsHelper.XmlSchemaDataTypeBase64Binary)));
nodes.Add(g.CreateLiteralNode("-45454", new Uri(XmlSpecsHelper.XmlSchemaDataTypeInteger)));
nodes.Add(g.CreateLiteralNode(DateTime.Now.ToString(XmlSpecsHelper.XmlSchemaDateTimeFormat), new Uri(XmlSpecsHelper.XmlSchemaDataTypeDateTime)));
nodes.Add(g.CreateLiteralNode("-3",new Uri(XmlSpecsHelper.XmlSchemaDataTypeInteger)));
nodes.Add(g.CreateLiteralNode("242344.3456435",new Uri(XmlSpecsHelper.XmlSchemaDataTypeDouble)));
nodes.Add(g.CreateLiteralNode("true",new Uri(XmlSpecsHelper.XmlSchemaDataTypeBoolean)));
nodes.Add(g.CreateUriNode(":what"));
nodes.Add(null);
nodes.Add(g.CreateLiteralNode("false",new Uri(XmlSpecsHelper.XmlSchemaDataTypeBoolean)));
for (int i = 0; i < 32; i++)
{
nodes.Add(g.CreateLiteralNode(i.ToString("x"),new Uri(XmlSpecsHelper.XmlSchemaDataTypeHexBinary)));
}
for (byte b = 50; b < 77; b++)
{
nodes.Add(g.CreateLiteralNode(Convert.ToBase64String(new byte[] { b }), new Uri(XmlSpecsHelper.XmlSchemaDataTypeBase64Binary)));
}
nodes.Sort();
//Output the Results
foreach (INode n in nodes) {
if (n == null) {
Console.WriteLine("NULL");
} else {
Console.WriteLine(n.ToString());
}
}
Console.WriteLine();
Console.WriteLine("Now in reverse...");
Console.WriteLine();
nodes.Reverse();
//Output the Results
foreach (INode n in nodes)
{
if (n == null)
{
Console.WriteLine("NULL");
}
else
{
Console.WriteLine(n.ToString());
}
}
output.Close();
}
示例5: WritingRdfXmlBNodes
public void WritingRdfXmlBNodes()
{
Graph g = new Graph();
INode s = g.CreateUriNode(new Uri("http://example.org/subject"));
INode p = g.CreateUriNode(new Uri("http://example.org/predicate"));
INode o = g.CreateBlankNode();
g.Assert(s, p, o);
s = o;
p = g.CreateUriNode(new Uri("http://example.org/nextPredicate"));
o = g.CreateLiteralNode("string");
g.Assert(s, p, o);
this.CheckRoundTrip(g);
}
示例6: NodesEqualityOperator
public void NodesEqualityOperator()
{
Console.WriteLine("Testing that the overridden operators for Nodes work as expected");
try
{
Graph g = new Graph();
IBlankNode a = g.CreateBlankNode();
IBlankNode b = g.CreateBlankNode();
Console.WriteLine("Testing using Equals() method");
Assert.IsFalse(a.Equals(b), "Two different Blank Nodes should be non-equal");
Assert.IsTrue(a.Equals(a), "A Blank Node should be equal to itself");
Assert.IsTrue(b.Equals(b), "A Blank Node should be equal to itself");
Console.WriteLine("OK");
Console.WriteLine();
Console.WriteLine("Testing using == operator");
Assert.IsFalse(a == b, "Two different Blank Nodes should be non-equal");
Assert.IsTrue(a == a, "A Blank Node should be equal to itself");
Assert.IsTrue(b == b, "A Blank Node should be equal to itself");
Console.WriteLine("OK");
Console.WriteLine();
//Test typed as INode
INode c = g.CreateBlankNode();
INode d = g.CreateBlankNode();
Console.WriteLine("Now testing with typed as INode using Equals()");
Assert.IsFalse(c.Equals(d), "Two different Nodes should be non-equal");
Assert.IsTrue(c.Equals(c), "A Node should be equal to itself");
Assert.IsTrue(d.Equals(d), "A Node should be equal to itself");
Console.WriteLine("OK");
Console.WriteLine();
Console.WriteLine("Now testing with typed as INode using == operator");
Assert.IsFalse(c == d, "Two different Nodes should be non-equal");
Assert.IsTrue(c == c, "A Node should be equal to itself");
Assert.IsTrue(d == d, "A Node should be equal to itself");
Console.WriteLine("OK");
}
catch (RdfException rdfEx)
{
TestTools.ReportError("RDF Error", rdfEx, true);
}
catch (Exception ex)
{
TestTools.ReportError("Error", ex, true);
}
}