我们需要将给定的rdf文件转换为特定的xml文件。所以我们有三个输入RDFS文件,RDF文件和XSD文件。有了这些,我们需要创建具有RDF文件数据的XML文件(应该符合XSD)。 RDF模式包含简单,复杂的关系实体。 RDF中定义的关系与XSD中定义的关系不同。
我们看到了几种实现相同的方法:
请指导哪个选项会更好以及任何指针都是相同的。
此致
答案 0 :(得分:0)
首先:这不是“或......或”决定。您可以轻松地将XSLT转换与自定义C#代码组合在一起。那说:
根据我的经验,如果转换不包含太多逻辑,那么XSLT是一个很好的选择。使用XSLT很容易重命名标签,扁平化或重新排列层次结构......但是如果你需要“if-then-else”逻辑,比如“如果......的值创建标签A,那么它可能会变得很糟糕。” ..别创建标签B“。
句子
RDF中定义的关系是 与定义的关系不同 在XSD。
听起来像一个复杂的转换,它涉及一些“if-then-else”和“查找”逻辑。在那种情况下,我可能会寻求更多以C#为中心的解决方案。
答案 1 :(得分:0)
XSLT通常是将RDF / XML转换为其他格式的一个坏主意,因为相同的RDF数据可以用不同的方式在RDF / XML中编码。
因此,除非严格控制RDF / XML输入,否则纯XSLT转换通常非常困难且难以维护。
对于RDF的C#操作,您可能需要尝试dotNetRDF(免责声明 - 我开发库),它为您提供了在三级使用RDF的API。如果您的RDF中有规则的重复结构,那么提取该数据的最简单方法是使用SPARQL查询从RDF中获取与您相关的数据。获得结果后(结果类似于DataTable,如果更容易使用,可以转换为DataTable),您可以根据需要生成XML文件。
如果您觉得这可能是一个可行的选择,那么如果您需要任何帮助/建议,请随时在项目邮件列表上发送电子邮件。