syn-refix.sh

来自「jena2.5.4推理机系统的一种最基本实现 HP实验室出品」· Shell 代码 · 共 73 行

SH
73
字号
#!/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 + =
减小字号Ctrl + -
显示快捷键?