首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dotnetrdf遍历本体

使用dotnetrdf遍历本体
EN

Stack Overflow用户
提问于 2012-12-27 08:43:46
回答 1查看 1.3K关注 0票数 0

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

我正在使用以下代码,但它提供了例外情况**

给定前缀'owl‘的命名空间URI不为作用域内NamespaceMapper所知。

代码语言:javascript
复制
OntologyGraph g = new OntologyGraph();
        FileLoader.Load(g, "humanontordf.owl");

        OntologyClass classOfClasses = g.CreateOntologyClass(g.CreateUriNode("owl:Class"));

        //This iterates over the things that are a class
        foreach (OntologyResource r in classOfClasses.Instances)
        {
            //Do what you want with the class
            Console.WriteLine(r.ToString());
        }

此代码基于给定的答案( 这里 (http://answers.semanticweb.com/questions/19984/dotnetrdf-list-all-ontology-classes) )。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-27 13:55:20

错误消息引用代码的以下部分:

代码语言:javascript
复制
g.CreateUriNode("owl:Class")

这使用前缀名称作为完整URI的快捷方式,需要在图形中定义owl前缀。

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

代码语言:javascript
复制
g.NamespaceMap.AddNamespace("prefix", new Uri("http://some/namespace/"));

我想OntologyGraph确实应该自动定义OWL名称空间,我将在下一个版本中添加这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14051781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档