Sparql 使用dotnetrdf遍历本体

Sparql 使用dotnetrdf遍历本体,sparql,ontology,owl,dotnetrdf,Sparql,Ontology,Owl,Dotnetrdf,我使用protege创建了一个本体。现在我想编写一个代码来使用dotNetRDF遍历本体。通过遍历显示所有类、子类等 我正在使用下面的代码,但它给出了一个异常** 给定前缀“owl”的命名空间URI不为 作用域内名称空间映射器 此代码基于给出的答案() 有人能让我知道我在上面的代码中遗漏了什么吗?有什么好的dotNetRDF教程的URL吗 错误消息涉及代码的以下部分: g.CreateUriNode("owl:Class") 这使用带前缀的名称作为完整URI的快捷方式,需要在图形中定义owl前

我使用protege创建了一个本体。现在我想编写一个代码来使用dotNetRDF遍历本体。通过遍历显示所有类、子类等

我正在使用下面的代码,但它给出了一个异常**

给定前缀“owl”的命名空间URI不为 作用域内名称空间映射器

此代码基于给出的答案()


有人能让我知道我在上面的代码中遗漏了什么吗?有什么好的dotNetRDF教程的URL吗

错误消息涉及代码的以下部分:

g.CreateUriNode("owl:Class")
这使用带前缀的名称作为完整URI的快捷方式,需要在图形中定义
owl
前缀

如果您得到了这个,那么您的RDF文件不包括这个,您可以这样定义:

g.NamespaceMap.AddNamespace("prefix", new Uri("http://some/namespace/"));

我想一个
OntologyGraph
真的应该自动定义OWL名称空间,我将在下一个版本中添加它。

在提交中添加感谢您的回复,但它没有工作。我已经使用Protege和RDF/XML生成了本体。我添加了以下行g.NamespaceMap.AddNamespace(“前缀”,新Uri(”);添加g.NamespaceMap.AddNamespace(“owl”,UriFactory.Create(NamespaceMapper.owl))时,它起作用;@mqp如果给出的答案是一个示例,您需要定义实际要使用的前缀,
prefix
只是示例的占位符
g.NamespaceMap.AddNamespace("prefix", new Uri("http://some/namespace/"));