我正在努力阅读c#中的OWL文件,我想解决这个问题,因为我是语义网络世界的新手 我读过有关dotnetrdf库的内容,该库用于在c#和asp.net中读取OWL文件 通过他们的文档,我找到了关于Hello世界的例子 我的问题在这里 当我把代码
IGraph g = new Graph();
g.LoadFromFile("Helloworld.owl");
IUriNode dotNetRDF = g.CreateUriNode(UriFactory.Create("http://www.dotnetrdf.org"));
IUriNode says = g.CreateUriNode(UriFactory.Create("http://example.org/says"));
ILiteralNode helloWorld = g.CreateLiteralNode("Hello World");
ILiteralNode bonjourMonde = g.CreateLiteralNode("Bonjour tout le Monde", "fr");
g.Assert(new Triple(dotNetRDF, says, helloWorld));
g.Assert(new Triple(dotNetRDF, says, bonjourMonde));
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.ToString());
}
Console.ReadLine();
它给我这样的输出
http://www.dotnetrdf.org/ , http://example.org/says , Hello World
http://www.dotnetrdf.org/ , http://example.org/says , Bonjour tout le Monde@fr
那么如何在没有URI的情况下显示结果,请对此有任何想法???
答案 0 :(得分:1)
使用Console.WriteLine(t.ToString())
将Triple
个对象的字符串表示形式打印到控制台。如果您想访问特定成员(请查看http://www.dotnetrdf.org/api/dotNetRDF~VDS.RDF.Triple~Members.html),则可以直接访问。 e.g。
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.Predicate);
Console.WriteLine(t.Subject);
Console.WriteLine(t.Object);
}
希望这有帮助。
答案 1 :(得分:0)
尝试打印'对象'三重财产:
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.Object);
}