2011-11-02 127 views
2

我需要通過C#中的進程轉換XML中的RDF文件。這可能嗎?將rdf轉換爲xml


我需要的是一個過程或命令可以在一個或多個Oracle報告(RDF)轉換爲XML,例如:

我們開始example.rdf並需要一個轉換例子的過程。 rdf在包含與rdf文件相同的信息的XML文件(example.xml)中。

我搜索了一下,發現rwconverter.exe Oracle http://download.oracle.com/docs/html/B10314_01/pbr_cla.htm#634712。我也看到rdf2xml http://www.semwebtech.org/rdf2xml/,但如果這是正確的方式,則不會。

謝謝你這麼多

+1

請參閱http://stackoverflow.com/questions/240903/what-is-a-good-rdf-library-for-net –

+3

大部分(如果不是全部)RDF文檔都以XML描述。那麼問題到底是什麼? – home

+1

是否所有的RDF圖都可以表示爲XML?我不認爲這是這種情況,例如具有多個父母的節點。 –

回答

3

你的問題還不清楚,但我會使用開源的API dotNetRDF是我在剛剛RDF序列化之間的轉換開發人員給你一個簡單的例子。如果這不是你的意思,那麼你需要擴展你的問題來解釋你想做什麼,因爲其他人已經評論過。

一個RDF序列化和彼此之間進行轉換

最簡單的方法:如海龜(不基於文件的擴展名自動格式檢測)

Graph g = new Graph(); 
g.LoadFromFile("input.ttl"); 
g.SaveToFile("output.rdf"); 

以上例子將採取input.ttl和嘗試讀取它,然後嘗試將其另存爲RDF/XML(再次根據文件擴展名進行自動格式檢測)。

如果您的文件擴展名不是標準的,您可以明確指定讀寫器,例如

Graph g = new Graph(); 
g.LoadFromFile("input.temp", new RdfJsonParser()); 
g.SaveToFile("output.temp", new NTriplesWriter()); 

該示例將讀取輸入文件爲RDF/JSON,輸出爲NTriples。

如果你只想要做轉換,並有大量的輸入數據轉換有這樣的上述例子需要加載整個輸入到內存中第一的內存越多有效的方法。如果輸入太大,您可能會嘗試運行上面的OutOfMemoryException(如果您的文件是幾百MB,那麼上面的方法很可能會遇到這個問題)。

如果您有興趣瞭解替代轉換方法,請發表評論,我可以添加利用純流轉換API的示例,但代碼不像這些示例那麼明顯。

+0

我需要的是一個過程或命令,可以將一個或多個Oracle報告(URI的。RDF)到XML,例如: 我們開始example.rdf和需要該變換example.rdf在含有相同的信息RDF文件的XML文件(的example.xml)的步驟。 我搜索並找到了rwconverter.exe Oracle http://download.oracle.com/docs/html/B10314_01/pbr_cla.htm#634712。我也看到了rdf2xml http://www.semwebtech。org/rdf2xml /,但如果這是正確的方式則不行。 非常感謝您 – Oliver

+0

如果您只是想將Oracle Reports RDF轉換成Oracle Reports XML,然後使用他們的轉換工具。如果您想要轉換爲某種自定義XML格式,請編輯您的問題以顯示該目標格式的示例或鏈接到相關規範。如果你想讓你的問題得到解答,那麼還是需要更具體一些。 – RobV

+0

我找到了我需要的東西。這是在這裏解釋[鏈接](http://bloggingaboutoracleapplications.org/oracle-bi-report-migration-utility/) 我需要的命令是: C:\ DevSuiteHome_1 \ BIN> rwconverter batch = yes source = 「file.rdf」dest =「file.xml」dtype = xmlfile overwrite = yes – Oliver