2016-08-14 8 views
0

私はセマンティックウェブの世界に初めてのので、私はこの問題を解決したいと思います。 私は使用されているdotnetrdfライブラリについて読んでいますその文書を通じてOWLのC#でファイルとasp.net を読んで、私は私がC言語でRDF/XMLファイルを読む#

 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 [email protected] 
のような出力が得られたコードを入れたときに、ここで こんにちは 私の質問について、例を見つけました

どうすればURIなしで結果を表示できますか?

答えて

1

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); 
} 

これが役立ちます。

+0

おかげで、それがこのコードに役立ちましたが、私は自分のコードのために同じことをしたとき、それはまだ私を与えます私のOWLファイルに関する私の質問は、私はオブジェクトのプロパティまたはデータプロパティのコードに配置するために使用する必要がありますか?あなたは私にアドバイスできますか? –

+0

@brahamalboshi - あなたはまだあなたにウリを与えてくれますか? –

+0

私のオントロジーには5つのサブクラスに分けられたクラスがありますが、このクラスではnameという名前のオブジェクトを持っています。たとえば、(車)のように名前(BMW)を持ち、サブクラス(タイプ、年など)名前のためにそれは私にすべてのサブクラスuriを与える –

0

はトリプルの「オブジェクトのプロパティを印刷してみてください:多くのあなたの答えに

 foreach (Triple t in g.Triples) 
     { 
      Console.WriteLine(t.Object); 
     } 
関連する問題