2011-11-02 97 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