GraphDB中GRAPHDB_CONTEXT_TEST是什么?相关IRI配置有何作用?
GraphDB相关配置问题解答
1. http://ont.enapso.com/repo的来源
这个值既不是GraphDB官方定死的必填参数,也不是什么行业强制标准,就是Enapso推出的GraphDB Node.js客户端SDK里,开发者为了跑自带集成测试、写功能演示代码,自己定义的测试用命名图标识。你自己搭建业务仓库的时候完全可以替换成自己规划的标识,不需要硬抄这个字符串。
2. 为什么要配置{ prefix: 'entest', iri: 'http://ont.enapso.com/test#' }
这是RDF技术栈里通用的命名空间前缀配置,作用非常直白:
- 配置里的
http://ont.enapso.com/test#是测试场景用的本体命名空间,这个测试本体下的所有类、属性、实例实体,全局唯一标识都会以这个字符串作为前缀拼接 - 前面的
entest是给这个长字符串起的短别名,之后写SPARQL查询、增删改三元组的时候,不用每次重复敲完整的长IRI,直接写entest:实体名就行,既能少打很多冗余内容,也能避免长字符串拼写出错。
你截图里的GraphDB仓库配置页,就是把前缀和IRI的映射关系直接存在仓库层面,后续写查询甚至不用手动在查询头部声明前缀,仓库可以自动识别匹配。
3. 引号包裹的内容是普通字符串还是可访问链接?
本质上就是用来做全局唯一标识的普通字符串。
之所以选URL格式来写,只是因为域名是全局唯一归属的,用自己持有的域名拼接命名空间,能保证自己定义的标识和其他人的不重名,完全不要求这个URL真的能在浏览器里打开、能访问到实际内容。
不少本体维护者会顺手把对应的URL部署成可访问的页面,放本体定义、说明文档,这只是附加的友好操作,不是强制要求——哪怕这个地址访问返回404,只要你仓库里所有用到这个命名空间的地方写的字符串完全一致,GraphDB的所有功能都能正常运行,不会出任何问题。
内容的提问来源于stack exchange,提问作者Arbo94
相关产品推荐
相关产品推荐

