用于c#的SemWeb库RDF解析器

时间:2010-06-21 09:54:49

标签: c# rdf

我正在尝试将RDF库用于名为SemWeb的c# 但是我无法读取我的rdf文件,因为我似乎无法实现他们提供的任何示例,而且文档有点差。

是否有人使用此库或其他人来解析RDF文件?

我迫切需要它,因为我正在做一个需要解析器到RDF的大学工作。

由于

1 个答案:

答案 0 :(得分:3)

使用SemWeb读取文件非常简单,只需使用以下内容:

MemoryStore mem = new MemoryStore();
mem.Import(new N3Reader("file.ttl"));

//Iterate over and print statements
foreach (Statement stmt in mem)
{
    Console.WriteLine(stmt.ToString());
}

如果您的文件是RDF / XML,那么您将使用RdfXmlReader类。

或者,您可以使用我的库dotNetRDF来阅读您的文件:

Graph g = new Graph();
FileLoader.Load(g, "file.ttl");

//Iterate over and print Triples
foreach (Triple t in g.Triples)
{
    Console.WriteLine(t.ToString());
}

唯一的问题是,如果您的文件是RDF / XML,我的库中的解析器将无法处理当前大小的文件。如果您的文件是NTriples / Turtle / N3,那么您应该没有问题,但是要准备等待几分钟(例如,柏林SPARQL基准测试的~90MB 100万三重数据集需要大约4分钟才能解析,但是在某种程度上取决于你的机器)

这实际上可能是一个问题,我不确定SemWeb中的RDF / XML解析器是如何实现的,所以它可能与我自己的大文件有类似的问题。

注意

这是否是读取文件的最佳方法可能取决于您在解析后要对数据执行的操作。可能有更有效的方法来读取/处理SemWeb和dotNetRDF中的数据,具体取决于您打算对该数据执行的操作。