Jena PrefixMapping:当模型是从数据集中获取的命名模型时,基本命名空间缺失

2024-03-19

这是我用来加载的代码OntModel to a Dataset作为命名模型。然后我尝试检索PrefixMapping以两种不同的方式实现相同的目的:

public static void loadDatasetwithNamedModels(){
OntModel namedModel = null;
Dataset dataset = null;
dataset = TDBFactory.createDataset("./path/to/TDB_DIR");
namedModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
dataset.begin(ReadWrite.WRITE);
try{    
    namedModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
    FileManager.get().readModel( namedModel, "./Path/to/OWLFile.owl");
    dataset.addNamedModel("MyNamedModel", namedModel);
    //Method 1 
    ModelGenerator.setModel(ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, namedModel));   // 1. returns the baseModel Namespace prefix mapping.
    //Method 2              
    //ModelGenerator.setModel(ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, dataset.getNamedModel("MyNamedModel")));  // 2. Does not returns the baseModel Namespace prefix mapping.
    ModelGenerator.setDataset(dataset);
    ModelGenerator.getPrefixMap();
    dataset.commit();
    } finally {
    dataset.end();
    System.out.println("Database Ready..");
    }
}

方法 1:- 使用OntModel读取 OWL 文件的变量。在这种情况下,我得到了所需的输出,其中包含由 Prefixes 表示的本体 URI 的前缀映射: and MyModel

方法 1 输出:

6
 : http://www.semanticweb.org/ontologies/2013/8/MyModel#
rdfs : http://www.w3.org/2000/01/rdf-schema#
owl : http://www.w3.org/2002/07/owl#
xsd : http://www.w3.org/2001/XMLSchema#
MyModel : http://www.semanticweb.org/ontologies/2013/8/MyModel#
rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns#

方法 2:- 使用OntModel从数据集中获得的变量通过dataset.getNamedModel("MyNamedModel");。在这种情况下,我找不到基本前缀。

方法 2 输出:

4
rdfs : http://www.w3.org/2000/01/rdf-schema#
owl : http://www.w3.org/2002/07/owl#
xsd : http://www.w3.org/2001/XMLSchema#
rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns#

ModelGenerator.getPrefixMap()函数如下:

public static void getPrefixMap(){
    Map<String, String> map = ModelGenerator.getModel().getNsPrefixMap();
    System.out.println(map.size());
    Set<String> set = map.keySet();
    Iterator<String> it = set.iterator();
    while(it.hasNext()){
    String key = (String) it.next();
            System.out.println("" + key + " : "+map.get(key) );
            }
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jena PrefixMapping:当模型是从数据集中获取的命名模型时,基本命名空间缺失 的相关文章

随机推荐

  • 当(深度)克隆时,使用 String.Copy 还是 str1 = str2?

    当 深度 克隆自定义对象时 我应该使用clone str1 String Copy obj str1 or clone str1 obj str1 我更喜欢后者 更短 更快 但它 安全 吗 我会指出这个线程 https stackoverf
  • ODP.NET 托管库确实可以解析别名,但 32 位库可以

    我的机器上安装了 32 位驱动程序 它们是由一些 DBA 安装和配置的 我编写了一个简单的脚本来测试驱动程序 大致如下 using DataTable table new DataTable using OracleConnection c
  • 我收到此错误“无模块:ngResource”

    尝试使用 Angular resource 但它返回的不是一种方法 浏览稀疏的文档 我发现了这一点 angular module productServices ngResource 您应该将其包含在您的应用程序模块中 公平地说 我把它放进
  • 如何根据定时器改变div的内容

    jquery 有没有办法根据计时器更改 div 的内容 假设我有提供 提示 的模块 提示内容应每 5 秒更改一次 Thanks 制定一系列提示 然后做一个interval5秒改变div的内容 我假设您想要随机提示 请参阅 jsFiddle
  • SVG 内的链接图像

    想象一下以下 SVG
  • Android NDK - NativeActivity 与 JNI 库

    两年前 我开发了一个增强现实框架android 7 闪电泡芙 http developer android com about versions android 2 1 html 由于 AR 应用程序是计算密集型任务 因此我开发了一个 JN
  • 我应该使用类还是字典?

    我有一个只包含字段而不包含方法的类 如下所示 class Request object def init self environ self environ environ self request method environ get R
  • 如何创建通用存储库?

    我想知道是否有人有关于制作通用存储库的任何好的教程 或者甚至可能是已经制作好的并且有详细记录的库 我当前正在使用 linq to sql 但它可能会发生变化 所以我不知道您是否可以创建一个通用存储库 如果我说切换到实体框架 则几乎不需要任何
  • 以编程方式展开/折叠 CoordinatorLayout 中的底部导航视图

    我有一个CoordinatorLayout其中包含一个BottomNavigationView and an AppBarLayout with a ToolBar在它里面 这BottomNavigationView不在里面AppBarLa
  • 部署不渲染 Kendo UI

    VS2012 asp net MVC4 c 带有 KendoUI 实现的互联网应用程序 最简单的说法是我的网站看起来像这样 开发机器上的本地 像这样部署 我检查了服务器 Kendo UI 论坛 所有论坛都指向图像丢失 我检查了甚至复制了我的
  • 授予 EC2 实例对 S3 存储桶的访问权限

    我想授予我的 ec2 实例对 s3 存储桶的访问权限 在此 ec2 实例上 启动了一个包含我的应用程序的容器 现在我没有获得 s3 存储桶的许可 这是我的存储桶政策 Version 2012 10 17 Id Policy146280822
  • 如何使用iPhone SDK下载文本文件?

    我是开发基于视图的 iPhone 应用程序的新手 我需要下载 这个 txt 文件来自互联网 并将其保存到应用程序的文档文件夹中 谁能简单地告诉我如何做到这一点 txt 文件很小 所以我不会 需要任何用户界面对象 Thanks Kevin N
  • 如何使用CSS仅在移动设备上显示文本?

    我有一个文本 在 div 中 显示在桌面和移动屏幕上 Expected 我希望文本仅显示在 media only screen and max width 768px How to 隐藏 div 与display none or 还有其他解
  • Django-rest-framework 多个 url 参数

    如何将 示例对象 映射到 url website com api
  • 编辑 PrimeNG 组件的 CSS

    我目前正在使用 Angular 4 Angular Materials 和 PrimeNG 组件开发用户界面 我正在处理的最新组件是来自 PrimeNG 的 MultiSelect 组件 https www primefaces org p
  • iOS 禁用横向 LaunchScreen.storyboard

    我有一个LaunchScreen storybaord显示徽标 文本 因此与方向无关 该应用程序始终以纵向启动 但它有某些允许横向模式的视图控制器 因此不能选择仅使应用程序纵向 我想要的是启动屏幕始终以纵向显示 因此 在应用程序启动期间将手
  • 通过模拟器发送电话号码

    我正在制作一个应用程序 我想检索设备电话号码并将其发送到服务器上 但我正在 Android 模拟器上测试这个应用程序 谁能告诉我如何在模拟器和实际设备中设置或获取电话号码 Thanks 如果我们使用电话管理器 我们可以在模拟器中获取电话号码
  • 如何在 Entity Framework Core 中删除多行? [复制]

    这个问题在这里已经有答案了 我需要使用 Entity Framework Core 从数据库中删除多行 此代码不起作用 foreach var item in items myCollection Remove item 因为我在第一个对象
  • 如何测试 Ruby on Rails 功能测试的 JSON 结果?

    我该如何维护我的Ajax http en wikipedia org wiki Ajax 28programming 29请求并测试 Ruby on Rails 功能测试的 JSON 输出 在 Rails gt 5 中 Use Action
  • Jena PrefixMapping:当模型是从数据集中获取的命名模型时,基本命名空间缺失

    这是我用来加载的代码OntModel to a Dataset作为命名模型 然后我尝试检索PrefixMapping以两种不同的方式实现相同的目的 public static void loadDatasetwithNamedModels