问题标签 [skos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
uri - 如何为具有新版本的分类设置 URI
我有一个分类,定期有一个新版本。添加了概念,结构可能会发生变化,或者分类代码等属性可能会发生变化,但大多数概念会保留并且应该具有稳定的 uri。我想知道处理这些问题的 uri 构造的最佳方法是什么。
我的设置试图遵守良好的基本 uri 和概念 uri 不包含版本或日期时间信息的规则。除非含义发生变化,否则概念本身总是可以用相同的标识符来引用。然后必须创建一个新概念。可以有新概念或对现有概念的属性进行更改。我就是这样设置的。
一个概念的例子:
在下一个版本中,分类代码已更改:
我想知道当有人使用 prefLabel 和 uri 引用http://example.org/myschema/concept/1时会发生什么,甚至可能使用 2018 年的分类代码,而 2020 年会有一个新版本上线。2018 年的版本也仍然存在。也许这应该取决于我的服务器设置,所以当没有指定时我总是返回最新版本。我想继续提供对旧分类版本的访问权限,但不会造成混淆。
rdf - 使用类或概念来建模枚举
SKOS 具有概念和概念方案的概念,可以粗略地用于对标准编程语言中已知的枚举进行建模。概念也可以定义为比彼此更宽或更窄,大致相当于位标志枚举。
假设一个人想要描述基本方向之类的东西,以下是可能的:
然而,枚举通常也是各种语言类型系统的一部分,所以我也可以选择这种解释:
那么,a)使用一个模型而不是另一个模型有什么好处吗?b) 将它们结合起来有意义吗?
rdfs - 我所有的标签都去哪儿了?Topbraid 猫头鹰到 SHACL 转换
我正在尝试将我的本体从 OWL 转换为 SHACL。但是,SKOS 标签、preflabels、评论等没有被转换。至少,它们不会在生成的 ttl 文件中返回。现在,我将原始 TTL 文件加载到 topbraid 中,并使用 Model -> Convert OWL/RDFS To SHACL... -> standard settings 。这很好用:我所有的对象属性、数据属性、基数等都被巧妙地转换,但是,所有不是 SHACL 的东西都完全从生成的 TTL 文件中省略,包括我的预标签和注释。
我做错了什么:或者更好:如何将所有内容转换为 SHACL,但将 SKOS 的东西保留在那里?
感谢您的任何提示!
sparql - 使用 SKOS 进行 SPARQL 推理
我们正在尝试用linked-data展示推理。
简单的图表在海龟格式中如下所示:
想法是在 SPARQL 中执行以下查询:
它应该返回 YES,但它返回 NO。
是否有可能对数据进行建模,这个 ASK-Statement 可以得到 YES 的回答?
就推断而言,它应该是 True,因为 ex:Bern 是 ex:Localities,这是 ex:Countries 的 skos:broader,即 ex:Switzerland。
我还没有找到任何 skos-Modelling and Inference 的好例子。我们希望使用 skos:concepts 而不是 rdfs-subclassing。因为它应该展示在您无法对所有内容进行子类化的情况下对概念的推理。
我在用:
- GraphDB 9.5.0 EE
- OWL2-RL - 规则集
json-ld - 如何压缩和/或构建 json-ld 文档,以便 IRI 值和键一样简洁地表达?
给定一个像这个例子这样的原始 JSON-LD 文档,它定义了sources
for some thing1
:
(我简化了很多 - 在我的实际用例中,它更大并且由 RDF 数据生成。ex:vocab/countries
是一个 SKOS ,ConceptScheme
包括EN
和FR
as Concepts
)
我想把它折叠成近似于我用更普通的 JSON 来表达的东西:
我发现我可以使用上下文折叠成名称/值并缩短名称:
一个重要的元素是"@type": "@id"
将源定义从(一个列表)对象折叠成键/值对,并且封闭的上下文术语映射https://example.com/sources
到sources
.
但我找不到一种似乎对价值观做同样的事情的方法,这样它们就变成了EN
andFR
而不是ex:vocab/countries/EN
and ex:vocab/countries/FR
。我在上下文中添加@base
和@vocab
属性的实验似乎不像我预期的那样工作。
我还需要以范围的方式执行此操作,以便sources
可以定义引用不同词汇表的其他属性。例如,我可能想要包含languages
,它可能包括来自表示英语、法语、盖尔语、布列塔尼语等词汇的术语。换句话说,我不能只为整个文档设置一个全局词汇或基础。
谁能告诉我这种转换是否可行,如果可以,如何实现?
JSON-LD Playground 链接在这里
rdf - 我可以使用 skos:broader 关联两个 skos:ConceptScheme 吗?
我可以使用 skos:broader 关联两个 skos:ConceptScheme 吗?如果不是,那么如果它们之间有父子关系,我们如何将它们联系起来?
semantic-web - RDFS vs SKOS,什么时候用什么?
当我学习语义网和 sparql 时,感觉到 RDFS 和 SKOS 似乎提供了非常相似的语义关系建模功能。例如,
- RDFS - rdfs:subClassOf, rdfs:superClassOf 可用于对层次结构进行建模
- SKOS - skos:narrower, skos:broader 可用于对层次结构进行建模
两者都提供双向传递。
尽管
- SKOS 通过 skos:narrowerTransitive、skos:broaderTransitive、skos:related、skos:closeMatch 等提供更明确的属性来建模传递性、相关关系和匹配
- 这是正确的理解吗?
- 建模时是否有任何指导来选择正确的模式?
- 如果我认为 skos 语义提供了上述优势,为什么 dbpedia 使用很多 rdfs vs skos?
谢谢!
sparql - 使用 FILTER 和 REGEX 根据文字变量查找 URI
我需要使用来自其他 skos:Concept 的 skos:prefLabel (literal) 找到 skos:Concept 的 URI。这是我的查询:
我的问题是过滤部分没有返回结果,我不明白为什么。
这是我试图链接我的实体的示例变量
变量URI | 变量首选项 | entityPrefRegex |
---|---|---|
<:c_7e508e0e> | "地表水中的溶解铝浓度"@zh | “铝”@zh |
<:c_b5dec35c> | "地表水中溶解的砷浓度"@zh | “砷”@zh |
<:c_bc765ffd> | "地表水中溶解的硼浓度"@zh | “硼”@zh |
<:c_4ce4d2c7> | "地表水中溶解的铯浓度"@zh | “铯”@zh |
以及相应的实体。正如您所看到的,除了大写字母外,文字是相同的。
实体URI | 实体首选项 |
---|---|
<:c_d57d0742> | "铝"@zh |
<:c_d57d077> | “砷”@zh |
<:c_d57d0728> | “硼”@zh |
<:c_d57d0745> | "铯"@zh |