我有一个分类,定期有一个新版本。添加了概念,结构可能会发生变化,或者分类代码等属性可能会发生变化,但大多数概念会保留并且应该具有稳定的 uri。我想知道处理这些问题的 uri 构造的最佳方法是什么。
我的设置试图遵守良好的基本 uri 和概念 uri 不包含版本或日期时间信息的规则。除非含义发生变化,否则概念本身总是可以用相同的标识符来引用。然后必须创建一个新概念。可以有新概念或对现有概念的属性进行更改。我就是这样设置的。
concept uri's: <http://example.org/myschema/concept/1>
schema uri: <http://example.org/myschema/2018>
schema uri next version: <http://example.org/myschema/2020>
@base <http://example.org/myschema/> .
@prefix dcterms <http://purl.org/dc/terms/> .
@prefix skos <http://www.w3.org/2004/02/skos/core> .
一个概念的例子:
<http://example.org/myschema/concept/1> a skos: concept ;
skos:inScheme <http://example.org/myschema/2018>;
skos:prefLabel "nameless dog";
skos:notation "AB251".
在下一个版本中,分类代码已更改:
<http://example.org/myschema/concept/1> a skos: concept ;
skos:inScheme <http://example.org/myschema/2020>;
skos:prefLabel "nameless dog";
skos:notation "AB254";
skos:changeNote "the classification code has changed from AB251 in 2018 to AB254 in 2020 due to addition of new concepts";
dcterms:modified 2020-08-19.
我想知道当有人使用 prefLabel 和 uri 引用http://example.org/myschema/concept/1时会发生什么,甚至可能使用 2018 年的分类代码,而 2020 年会有一个新版本上线。2018 年的版本也仍然存在。也许这应该取决于我的服务器设置,所以当没有指定时我总是返回最新版本。我想继续提供对旧分类版本的访问权限,但不会造成混淆。