2011-05-27 41 views
1

我正在使用Rowlex庫。我有一個.rdf.xml(擴展)文件的內容:使用rowlex庫在C中提取標記信息#

<Ontologyowl:User rdf:about="userid_1"> 
    <Ontologyowl:hasRated> 
      <Ontologyowl:Rating rdf:about="Rating_1"> 
     </Ontologyowl:Rating> 
    </Ontologyowl:hasRated> 
    <Ontologyowl:hasRated> 
      <Ontologyowl:Rating rdf:about="Rating_1"> 
     </Ontologyowl:Rating> 
    </Ontologyowl:hasRated> 
</Ontologyowl:User> 

我打算以提取「hasRated」標籤中的信息。 我知道它可以使用「評級」URI來實現,但我得到的輸出不是我所需要的。我打算在文件中提取「hasRated」標記中的所有信息(如hasRated標記中所述)。 目前我只能從第一個「hasRated」標籤中提取信息,我需要從用戶的每個「hasRated」標籤中提取信息。

我真的很感謝在這個問題上提供的任何幫助。 謝謝。

回答

0

如果我正確理解您的問題,您從本體中使用OwlGrinder.exe生成了一個程序集。在User類中,User.hasRated屬性允許您僅訪問第一個內容。但你想有這樣的事情:

public class User : OwlThing 
{ 
    ... 
    public Rating hasRated { get... set...} 
    public Rating[] hasRateds {get... set...} 
    ... 
} 

我有一個好消息,你可以擁有它。你有兩種選擇:

  • 使用完整的類。除了許多更少使用的功能外,完整類也具有所有屬性的陣列版本。他們從他們的命名慣例中可以看出,他們的名字總是以下劃線結尾。當你在RdfDocument中查找User個體時,獲得完整的類(User_而不是User)。更多關於輕量級和完整的課程,你可以在這個頁面的後半部分閱讀:http://rowlex.nc3a.nato.int/Content/AssemblyGeneration.htm

  • 下載ROWLEX2.3(剛剛發佈前寫這個答案)。自動生成的燈光類現在還具有屬性的陣列版本。