C# - 将RDF文件转换为特定的XML文件

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

要回复问题请先登录注册