1

我正在使用 Rowlex 库。我有一个包含内容的 .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”标签中提取信息。

我非常感谢在这件事上提供的任何帮助。谢谢。

4

1 回答 1

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(在写这个答案之前发布)。自动生成的灯光类现在还具有属性的数组版本。

于 2011-05-30T09:41:29.607 回答