使用rowlex库在C#中提取标记信息

时间:2011-05-27 12:14:26

标签: c# rowlex

我正在使用Rowlex Library。我有一个包含内容的.rdf.xml(扩展名)文件:

<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”标签中提取信息。

我真的很感激在这件事上提供的任何帮助。 感谢。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,您使用本体中的OwlGrinder.exe生成了一个程序集。在User类中,User.hasRated属性允许您仅访问第一个内容。但是你想要这样的东西:

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

我有个好消息,你可以拥有它。你有两个选择:

  • 使用完整的课程。除了许多很少使用的功能外,完整类还具有所有属性的数组版本。它们的命名约定可以识别,它们的名称总是以下划线结尾。当您在RdfDocument中查找用户个人时,获取完整的类(User_而不是User)。有关您可以在本页后半部分阅读的轻松课程和完整课程的更多信息:http://rowlex.nc3a.nato.int/Content/AssemblyGeneration.htm

  • 下载ROWLEX2.3(在撰写此答案之前发布)。自动生成的灯类现在还具有属性的阵列版本。