2016-08-14 2 views
0

C 언어에서 OWL 파일을 읽는 데 어려움을 겪고 있습니다. 시맨틱 웹 세계에 익숙하지 않기 때문에이 문제를 해결하고 싶습니다. 사용되는 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

덕분에 많이,이 코드에 대한 도움이되었다,하지만 난 내 코드 같은 일을했을 때, 그것은 여전히 ​​줘 uri, 내 질문에 내 OWL 파일에 관한, 내가 uei 코드 개체 속성 또는 데이터 속성에 넣을 필요가 ???? 나에게 조언 해 줄 수 있니? –

+0

@brahamalboshi - 당신에게 아직 어떤 속성이 있습니까? –

+0

내 온톨로지에 5 클래스로 나누어 진 클래스가 있지만이 클래스에는 이름 (예 : 자동차)과 이름 (BMW)이 있으며, 쿼리 할 때 하위 클래스 (유형, 연도 등) 그 이름이 나에게 서브 클래스 uri를 준다면 –

0

보십시오 : 당신의 대답에

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