使用 sh:filterShape 而不是 sh:target?

问题描述

我想知道是否有可能以更易读的方式表达以下代码。也许没有 SHACL-SPARQL。在这种情况下可以使用函数 sh:filterShape 吗?

@prefix sh:    <http://www.w3.org/ns/shacl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix :      <http://www.semanticweb.org#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .

:RoomNumberShape a sh:NodeShape ;
    sh:target [
        a sh:SPARQLTarget ;
        sh:prefixes [
                sh:declare [
                    sh:prefix "" ;
                    sh:namespace "http://www.semanticweb.org#"^^xsd:anyURI ;
                ] ;
                sh:declare [
                    sh:prefix "rdf" ;
                    sh:namespace "http://www.w3.org/1999/02/22-rdf-Syntax-ns#"^^xsd:anyURI ;
                ]
        ] ;
        sh:select """
        SELECT ?node 
        WHERE {
            ?node :has_RD  :RD200 ;
                  rdf:type :Room  ;     
        }
        """ ; 
    ] ;
    sh:property [
        sh:path :has_RoomNumber ; 
        sh:minCount 1 ; 
        sh:maxCount 1 ; 
    ] .```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...