如何将多个元素放入 rdf:bag

How to put multiple elements in a rdf:bag

所以我有以下问题。 我想将多个元素放在 rdf:li 元素中。这些元素的数量总是固定的。现在看起来它将是一个元组、一个资源和一个整数。

现在我试过了

<rdf:bag>
    <rdf:li rdf:resource="http://www.example.com/example#1">1</rdf:li>
</rdf:bag>

还有

<rdf:bag>
    <rdf:li>
        <test:x rdf:resource="http://www.example.com/example#1"/>
        <test:t>5</test:t>
    </rdf:li>
<rdf:bag>

两者都不行。 那么这是否可能,或者我应该重组我的数据?

这是不可能的。 RDF/XML syntax spec 不允许这样做——我也不明白你为什么要这样做,因为 rdf:li 元素的全部意义在于它表示一个 单个列表成员。您通常通过为每个值使用单独的 rdf:li 将多个值放入包中。

所以是的,如果您的目标是将多个值捕获为包中的 "single item",您将不得不重组数据。

据推测,我只是在猜测,您正在尝试将一些值组合成一个可以成为包中成员的对象。您将需要实际构建该对象本身:创建一个表示值组合的对象,并将每个值作为对象的 属性 链接到它。然后你可以在你的包中添加一个 rdf:li 来引用那个对象。

更笼统的说明:我可以建议您停止关注 XML 语法并花一些时间来 learn how the RDF data model works 吗?将您的应用程序基于 RDF 的 XML 表层语法是一个坏主意(一方面,可以在 XML 中以多种方式写下完全相同的 RDF 模型)。您真的应该根据该模型构建数据 - XML 语法自然会随之而来。