未提供项目描述
项目描述
RDFrame | SHACL配置文件 | CQL配置文件
关于
此库有两个用途。
- X -> SPARQL映射的开发,目前有两种风味
- SHACL解释用于显示,+端点定义作为RDF -> SPARQL
- CQL 到 SPARQL 即开发人员可以用Python以特定方式实现映射,并可以有一个紧密的REPL过程,包括可视化示例。
- 最终用户生成/指定使用上述内容的配置文件。 即用户只需使用Web界面指定配置文件或特定的CQL查询以实现预期结果。
RDFrame GUI组件
Prez SHACL版本
-
运行时值 - 在使用例如对象的URI检索信息时指定的数据;容器对象的URI,从中列出成员项;用于分页的limit和offset值。
-
端点定义。这指定了从端点返回的对象的类(类),以及有关排序和分页的信息。
- 当使用sh:target / sh:select时,可以在sh:select中使用
$
定义变量。这些值将按优先顺序在运行时填充- 运行时值
- 由端点定义指定的默认值。目前,已使用自定义属性来定义默认的limit和offset值。
- 当使用sh:target / sh:select时,可以在sh:select中使用
-
配置文件定义。用于指定应返回焦点对象的哪些属性。
-
SPARQL查询。这是从上述三个输入生成的。
-
示例数据。这是任何可以用于测试或演示配置文件/端点定义的RDF数据。
-
结果。这是将生成的SPARQL查询应用于示例数据的结果。
CQL版本
描述即将推出 - 可在/cql
找到
解决常见用例的模式
当前的SHACL配置文件针对Prez的一组已知用例进行了定制。
1.1 根据容器对象的关系列出对象。
端点定义要求
- 容器对象的URI,可以是运行时值。
- sh:target / sh:select语句
- sh:targetClass
由于使用sh:select
作为字符串存在限制,因此需要sh:targetClass。sh:targetClass是生成生成的SPARQL查询的Construct部分所必需的。sh:select子查询仅进行验证和插入 - 没有程序性地提取组件。
在配置文件中指定要包括/排除的焦点对象属性(参见3.1 -> 3.3)。
1.1.1 从焦点节点选择中向查询的CONSTRUCT部分添加三元组
可选地,可以从焦点节点选择中向查询的CONSTRUCT部分添加三元组。要添加的三元组可以通过sh:rule / sh:subject sh:predicate sh:object定义。如果任何这些(sh:subject sh:predicate sh:object)的值是字面量,并且字面量以'?'开头,它将转换为生成的SPARQL查询中的变量。注意:默认情况下,仅从焦点节点选择中包括对象的CLASS。这是唯一提供的机制,用于提供来自用于焦点节点选择的SELECT子查询的附加三元组。可以指定要包括的属性在配置文件中(通过SHACL属性形状)。
1.2 根据类列出对象。
端点定义要求
- sh:targetClass - 要列出的对象的类。
在配置文件中指定要包括/排除的焦点对象属性(参见3.1 -> 3.3)。
2.1 根据URI描述对象
端点定义要求
- 对象的运行时值,例如:
{"object": "http://my-object-uri"}
- 在端点定义中使用
sh:targetNode "$object"
。
在配置文件中指定要包括/排除的焦点对象属性(参见3.1 -> 3.3)。
3.1 包括焦点节点的所有属性
包括给定焦点节点的所有直接属性,即作为三元组模式<focus_uri> ?p ?o
似乎没有从SHACL借用相关概念以提供指定从给定焦点节点检索所有谓词值的机制。由于这在显示数据时是一个常见用例,因此为了简洁,已创建扩展属性。
http://example.com/shacl-extension#allPredicateValues
此属性用于替代sh:path
下指定的路径值,例如
ex:OpenNodeShape
a sh:NodeShape ;
sh:property [
sh:path shext:allPredicateValues ;
] ;
3.2 包括焦点节点的指定属性
指定要包括的属性意味着所有未明确包括的属性都应被排除。
可以使用SHACL属性路径包括指定的属性路径
这些可以直接使用属性形状上的sh:path
指定,或者可以使用sh:union
指定多个属性路径。
3.2.1 简单地包括指定的属性 - 单个属性路径
配置文件要求
sh:path <property path expression>
3.2.2 复杂地包括指定的属性 - 多个属性路径
配置文件要求
-
sh:path ( sh:union ( <property path expression 1> <property path expression 2> ...) )
3.3 排除焦点节点的指定属性
指定要排除的属性意味着所有未排除的直接属性都应被包括。
配置文件要求
- 属性形状包括一个sh:maxCount为0
NB:当前的假设是用户可以选择包括指定的
在Prez端点中使用模式
3.4 包括空节点属性链
虽然SHACL词汇表提供了识别空节点的途径,但似乎没有简洁的方法来指定应包括空节点属性链的描述。因此,已创建自定义属性。该属性可以包含在配置文件的nodeshape上。属性是http://example.com/shacl-extension#bnode-depth
。该属性的值是跟随的空节点(对象/主体对)的数量。使用方法如下
ex:OpenNodeShape
a sh:NodeShape ;
shext:bnode-depth 2 ;
.
4.1 包括特定的对象值
配置文件要求
- 使用
sh:hasValue
指定单个值或使用sh:in
与 RDF 列表指定多个值来指定对象值。
在Prez端点中使用模式
以下表格显示了在提议的 Prez 端点定义中不同模式的使用位置。
端点 | 端点定义模式 | 配置文件定义模式 |
---|---|---|
Catprez 目录列表 | 1.2 根据类列出对象。 | |
Catprez 目录对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Catprez 资源列表 | 1.1 根据容器对象的关系列出对象。 | 3.2.2 复杂地包括指定的属性 - 多个属性路径 |
Catprez 资源对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Vocprez 词汇列表 | 1.2 根据类列出对象。 | |
Vocprez 词汇对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Vocprez 词汇对象 子页面 1/2 | 1.1 根据容器对象的关系列出对象。 | 3.1 包括焦点节点的所有属性 |
Vocprez 词汇概念对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 3.2.2 复杂地包括指定的属性 - 多个属性路径 |
Vocprez 集合列表 | 1.2 根据类列出对象。 | |
Vocprez 集合对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Vocprez 集合概念对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Spaceprez 数据集列表 | 1.2 根据类列出对象。 | |
Spaceprez 数据集对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
Spaceprez 功能集合列表 | 1.1 根据容器对象的关系列出对象。 | |
Spaceprez 功能集合对象 | 2.1 根据URI描述对象 | 3.3 排除焦点节点的指定属性 3.4 包括空节点属性链 |
Spaceprez 功能列表 | 1.1 根据容器对象的关系列出对象。 | |
Spaceprez 功能对象 | 2.1 根据URI描述对象 | 3.1 包括焦点节点的所有属性 3.4 包括空节点属性链 |
附录 - 为什么使用 sh:union 和属性形状?
直接且精确:sh:union 和属性路径允许直接引用特定属性,提供对显示属性的清晰和细致控制。它们支持 SPARQL 属性路径语法以处理复杂的属性关系,并且可以使用 sh:union 在单个 RDF 列表中指定。
- sh:inversePath
- sh:alternativePath
- sh:path 由于这些属性路径在配置文件中使用,它们关于在选定一组焦点节点之后选择属性,因此最常见的用例是需要属性联合而不是逻辑与。sh:union 可以直接映射到 SPARQL 联合,从而从配置文件到 SPARQL 查询提供清晰和直接的映射。
由于这些是在属性节点上指定的,因此 sh:minCount 和 sh:maxCount 也可用,并且可以用来表示可选属性(sh:minCount 0)或表示应排除属性(sh:maxCount 0)。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
rdframe-0.1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e508518c64932abf05fe123f00aadc6f90d0d6fae446fd0b01cec0a40f49a7a |
|
MD5 | 565fbf69cfe66e5cc362a0c58208750e |
|
BLAKE2b-256 | 6d68d7611d50845062cb528f247ee69288ae1fbecc57f4944022ba732457ebd7 |
rdframe-0.1.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3a8c54da40aa9b57d8e1785d85e2013343038d4ef1f9255d2bc7cc0996301361 |
|
MD5 | 66622b9771b930be92b0bceeaca26480 |
|
BLAKE2b-256 | 29a4f9e2bd082c27fa909bb1dcc6355ceb0708bcc90ecd2080c7aca50eb445e2 |