跳转到主要内容

Python SHACL 紧凑语法解析器和序列化器。

项目描述

Python SHACL 紧凑语法解析器

一个基于https://w3c.github.io/shacl/shacl-compact-syntax/规范的Python SHACL 紧凑语法解析器和序列化器。

github.com/w3c/data-shapes/shacl-compact-syntax/tests中定义的所有测试均通过。

浏览器游乐场

https://edmondchuc.github.io/shaclc/中浏览您的浏览器实现。

快速入门

安装。

pip install shaclc

使用。

from shaclc import shaclc_to_graph

shaclc_str = """
BASE <http://example.com/ns>

IMPORTS <http://example.com/person-ontology>

PREFIX ex: <http://example.com/ns#>

shape ex:PersonShape -> ex:Person {
	ex:ssn xsd:string [0..1] pattern="^\\d{3}-\\d{2}-\\d{4}$" .
}
"""

graph = shaclc_to_graph(shaclc_str)

graph.print(format="longturtle")

输出。

BASE <http://example.com/ns>
PREFIX ex: <http://example.com/ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<>
    a owl:Ontology ;
    owl:imports <http://example.com/person-ontology> ;
.

<#PersonShape>
    a sh:NodeShape ;
    sh:property
        [
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:path <#ssn> ;
            sh:pattern "^\\d{3}-\\d{2}-\\d{4}$" ;
        ] ;
    sh:targetClass <#Person> ;
.

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解安装包的更多信息。

源分发

shaclc-0.1.1.tar.gz (8.4 kB 查看哈希值)

上传时间:

构建分发

shaclc-0.1.1-py3-none-any.whl (8.6 kB 查看哈希值)

上传于 Python 3

支持者