当前位置: 首页 > 面试题库 >

RDFLib:XML序列化中的命名空间前缀

阚砚文
2023-03-14
问题内容

在使用RDFLib 3.0的Python脚本中,序列化三元组时获得以下XML输出:

<rdf:RDF
  xmlns:_3="http://www.my-example.intra/ontologies/ci.owl#"
>

如何为RDFLib(或分别为XML-Serializer)自动分配的匿名_x前缀定义特定的名称空间前缀?

<rdf:RDF
  xmlns:ex="http://www.my-example.intra/ontologies/ci.owl#"
>

预先非常感谢您的回复!


问题答案:

我最终通过查看一些(相当分散的)rdflib doc文件找到了解决方案。对于存储三元组的(合并)图,调用

mygraph.bind(prefix, URIRef(url))

mygraph.bind('ex', URIRef('http://www.my-example.intra/ontologies/ci.owl#'))

将“ False”作为第三个参数传递会覆盖现有的名称空间前缀绑定。



 类似资料:
  • 我的代码生成的名称空间有问题。我想要的是以下XML: 我得到的是以下XML: 主要区别是: 目前我正在做的是替换1中序列化字符串中的值 这是我正在使用的代码,我如何更改GetNameSpace()来做我在第1点中需要的事情

  • 我正在尝试使用 JAXB 创建站点地图索引文件。按照创建站点地图的要求,我必须在根元素中添加命名空间属性: 我想有一个简单的方法来解决这个问题。因为这似乎是一个标准过程,所以我不想做复杂的解决方法,也不想在我的项目中添加更多的依赖项来解决这个问题 当前输出如下: 我的< code>SitemapIndex模型如下: 我还尝试手动添加名称空间字段,它可以生成文件,但是当我尝试读取文件时会出现异常。

  • 为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?

  • 如何在命名空间中转发声明类。例如,下面是一个库的头文件,用户不需要知道私有的myPtr,所以当包含在头文件下面时,不需要包含boost头文件。那么我如何向前声明boost::shared_ptr以启用用户代码编译呢? MyClass.h

  • 问题内容: 是否可以在Redis中创建名称空间? 从我发现的结果来看,所有全局命令(计数,全部删除)都适用于所有对象。有没有一种创建子空间的方法,以便这些命令在上下文中受到限制? 我不想为此设置不同的Redis服务器。 我认为答案是“否”,并且想知道为什么没有实现它,因为它似乎是一个有用的功能,而且没有太多开销。 问题答案: Redis服务器可以处理多个已编号的数据库。我认为默认情况下它提供了32

  • 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码