簡體   English   中英

在C#中讀取RDF / XML文件

[英]Read RDF/XML file in c#

我正在努力用c#讀取OWL文件,我想解決這個問題,因為我是語義網絡世界的新手,我已經閱讀了有關do​​tnetrdf庫的信息,該庫用於通過c#和asp.net讀取OWL文件。我在放置代碼時在文檔中找到了有關Hello World的示例,這是我的問題

        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的結果,請對此有任何想法???

使用Console.WriteLine(t.ToString()) ,將Triple對象的字符串表示形式打印到控制台。 如果要訪問特定成員(請訪問http://www.dotnetrdf.org/api/dotNetRDF~VDS.RDF.Triple~Members.html ),則可以直接訪問。 例如

foreach (Triple t in g.Triples)
{
     Console.WriteLine(t.Predicate);
     Console.WriteLine(t.Subject);
     Console.WriteLine(t.Object);
}

希望這可以幫助。

嘗試打印Triple的'Object'屬性:

        foreach (Triple t in g.Triples)
        {
            Console.WriteLine(t.Object);
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM