⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syn-arq.sh

📁 Jena推理机
💻 SH
字号:
#!/bin/bash

## Reification
N=0

N=$((N+1)) ; testGood $(fname "syntax-reif-arq-" $N arq) <<EOF
SELECT *
{ ?id << ?x ?y ?z >> }
EOF

N=$((N+1)) ; testGood $(fname "syntax-reif-arq-" $N arq) <<EOF
SELECT *
{ << ?x ?y ?z >> }
EOF

N=$((N+1)) ; testGood $(fname "syntax-reif-arq-" $N arq) <<EOF
SELECT *
{ [] << ?x ?y ?z >> }
EOF

N=$((N+1)) ; testGood $(fname "syntax-reif-arq-" $N arq) <<EOF
PREFIX : <http://example.org/ns#>
SELECT * WHERE
{  << ?s ?p ?o >> :p "" } # reification as subject
EOF

N=$((N+1)) ; testGood $(fname "syntax-reif-arq-" $N arq) <<EOF
PREFIX : <http://example.org/ns#>
SELECT * WHERE
{  << ?s ?p ?o >> :p << ?s ?p ?o >> } # reification as subject and object
EOF

## Mixed forms
N=0

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
SELECT *
{ [ << ?x ?y ?z >> ] } # Same as [] << ?x ?y ?z >>
EOF

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
CONSTRUCT { [] << ?s ?p ?o >> } WHERE { ?s ?p ?o }
EOF

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
CONSTRUCT { [ << ?s ?p ?o >> ] } WHERE { ?s ?p ?o }
EOF

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
CONSTRUCT { ?s ?p ?o } WHERE { [ << ?s ?p ?o >> ] }
EOF

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
# Not a common query
CONSTRUCT { ?s ?p ?o } WHERE { ( [ << ?s ?p ?o >> ] ) }
EOF


# Silly but legal

N=$((N+1)) ; testGood $(fname "syntax-forms-arq-" $N arq) <<EOF
PREFIX : <http://example.org/ns#>
SELECT *
WHERE
{
  [] << (?s) [ :pp :qq ] << :s :p :o >> >> .
  ( [ :p () ] ) . 
  ( [ :p << ?s ?p ?o >> ] ) .  # reification-as-object
  { ( [ << ?s ?p ?o >> ] ) } .
  { ( [ << [:p :q ] << 1 2 3 >> [a [] ] >> ] ) } .
}
EOF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -