簡體   English   中英

C#-將RDF文件轉換為特定的XML文件

[英]C# - Converting a RDF file to specific XML file

我們有一個要求,其中需要將給定的rdf文件轉換為特定的xml文件。 因此,我們有三個輸入RDFS文件,RDF文件和XSD文件。 有了這些,我們需要創建具有RDF文件數據的XML文件(應符合XSD)。 RDF架構包含簡單,復雜的關系實體。 RDF中定義的關系不同於XSD中定義的關系。

我們看到幾種實現方法:

  1. 創建一個XSLT,定義用於將RDF文件轉換為XML文件的邏輯。
  2. 生成自定義C#應用。 做同樣的事情(使用RDF庫,如LinqToRDF等)

請指導有關哪個選項更好,以及任何相同的指示。

問候,

首先:這不是“要么……”決定。 您可以輕松地將XSLT轉換與自定義C#代碼結合在一起。 說:

以我的經驗,如果轉換不包含太多邏輯,則XSLT是一個不錯的選擇。 使用XSLT重命名標簽,扁平化或重新排列層次結構很容易,但是如果您需要“ if-then-else”邏輯,例如“ if ... then則創建標簽A,但僅當...時”,這會很討厭。 ..否則創建標簽B”。

這句話

RDF中定義的關系不同於XSD中定義的關系。

聽起來像是一個復雜的轉換,涉及相當多的“ if-then-else”和“ lookup”邏輯。 在那種情況下,我可能會尋求以C#為中心的解決方案。

對於將RDF / XML轉換為其他格式,XSLT通常是一個壞主意,因為可以用不同的方式在RDF / XML中編碼相同的RDF數據。

因此,除非嚴格控制RDF / XML輸入,否則純XSLT轉換通常非常困難且難以維護。

對於RDF的C#操作,您可能需要嘗試dotNetRDF免責聲明-我開發了庫 ),它為您提供了用於在Triple級別使用RDF的API。 如果RDF中具有規則的重復結構,則提取該數據的最簡單方法是使用SPARQL查詢從RDF中獲取與您相關的數據。 獲得結果(結構上類似於DataTable並可以轉換為DataTable,如果這樣更便於使用)后,便可以根據需要生成XML文件。

如果這看起來對您來說是一個可行的選擇,那么如果您需要任何幫助/建議,請隨時在項目郵件列表中向我發送電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM