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

📄 syn-dev.sh

📁 jena2.5.4推理机系统的一种最基本实现 HP实验室出品
💻 SH
字号:
#!/bin/bash## ==== GoodN=0N=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# Dot after tripleSELECT * WHERE{ ?s ?p ?o . }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# No dot after tripleSELECT * WHERE{ ?s ?p ?o }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOFSELECT * WHERE{ ?s ?p ?o . ?s ?p ?o . }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# No dotSELECT * WHERE{ ?s ?p ?o . ?s ?p ?o }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# DOT after non-triplesSELECT * WHERE{ FILTER (?o>5) . }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# DOT after non-triplesSELECT * WHERE{ FILTER (?o>5) . ?s ?p ?o }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# Trailing ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p :o ; FILTER(?x) }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOF# Early ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p :o ; . }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  _:a ?p ?v .  _:a ?q 1 }EOFN=$((N+1)) ; testGood $(fname "syn-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  { _:a ?p ?v .  _:a ?q _:a } UNION { _:b ?q _:c }}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Filter do not break up a BGP.PREFIX : <http://example.org/>SELECT *WHERE{  _:a ?p ?v .  FILTER(true) . [] ?q _:a}EOF## ==== BadN=0N=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# More a test that bad syntax tests work!PREFIX ex:   <http://example/ns#>SELECT *EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Missing DOT, 2 triplesPREFIX :   <http://example/ns#>SELECT *{ :s1 :p1 :o1 :s2 :p2 :o2 . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Missing DOT between triplesPREFIX :   <http://example/ns#>SELECT *{ :s1 :p1 :o1 :s2 :p2 :o2 . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Missing DOT after ; between triplesPREFIX :   <http://example/ns#>SELECT *{ :s1 :p1 :o1 ; :s2 :p2 :o2 . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# DOT, no triplesSELECT * WHERE{ . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# DOT, no triplesSELECT * WHERE{ . . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# DOT, then triplesSELECT * WHERE{ . ?s ?p ?o }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Multiple DOTsSELECT * WHERE{ ?s ?p ?o . . }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Multiple DOTsSELECT * WHERE{ ?s ?p ?o .. }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Multiple DOTsSELECT * WHERE{ ?s ?p ?o . . ?s1 ?p1 ?o1 }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Multiple DOTsSELECT * WHERE{ ?s ?p ?o .. ?s1 ?p1 ?o1 }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Multiple DOTsSELECT * WHERE{ ?s ?p ?o . ?s1 ?p1 ?o1 .. }EOF## ---- CONSTRUCTN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# DOT, no triplesSELECT * WHERE{ . FILTER(?x) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# CONSTRUCT and DOTsCONSTRUCT { ?s ?p ?o . . }WHERE { }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# CONSTRUCT and DOTsCONSTRUCT { ?s ?p ?o . . ?s ?p ?o }WHERE { }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# CONSTRUCT and DOTsCONSTRUCT { ?s ?p ?o ?s ?p ?o }WHERE { }EOF## ----N=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ;SELECT * WHERE{ ; FILTER(?x) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s ; :p :o }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p ; }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p ; FILTER(?x) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ;PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p :o . ;  }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ,PREFIX :   <http://example/ns#>SELECT * WHERE{ :s , :p :o  }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ,PREFIX :   <http://example/ns#>SELECT * WHERE{ :s  :p , :o  }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken ,PREFIX :   <http://example/ns#>SELECT * WHERE{ :s  :p , }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken , can't trailPREFIX :   <http://example/ns#>SELECT * WHERE{ :s  :p :o , }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Broken , (should be ;)PREFIX :   <http://example/ns#>SELECT * WHERE{ :s :p1 :o1 , :p2 :o2}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFCONSTRUCT EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Tokenizing matters.# "longest token rule" means this isn't a "<" and "&&"PREFIX :   <http://example/ns#>SELECT * WHERE{ FILTER (?x<?a&&?b>?y) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/ns#>SELECT * WHERE { :x [] :q }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/ns#>SELECT * WHERE { :x _:a :q }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Syntactic blank node in a filter.SELECT * WHERE { <a><b>_:x FILTER(_:x) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOF# Syntactic blank node in a filter.SELECT * WHERE { <a><b>_:x FILTER(_:x < 3) }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  GRAPH [] { } }EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  _:a ?p ?v . { _:a ?q 1 }}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  { _:a ?p ?v . } _:a ?q 1}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  { _:a ?p ?v . } UNION { _:a ?q 1 }}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  { _:a ?p ?v . } _:a ?q 1}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  _:a ?p ?v . OPTIONAL {_:a ?q 1 }}EOFN=$((N+1)) ; testBad $(fname "syn-bad-" $N) <<EOFPREFIX : <http://example.org/>SELECT *WHERE{  _:a ?p ?v . OPTIONAL { ?s ?p ?v } _:a ?q 1}EOF## ==== Other bad : from NegativeSyntax/N=0testBad "bnode-dot.rq" <<EOF# NegativeSyntax/bnode-dot.rqSELECT * WHERE {[] . }EOF##--N=0N=$((N+1)) ; testBad $(fname "bnodes-missing-pvalues-" $N) <<EOF# NegativeSyntax/bnodes-missing-pvalues.rqPREFIX :   <http://example/ns#>SELECT * WHERE { [,] :p [;] . }EOFN=$((N+1)) ; testBad $(fname "bnodes-missing-pvalues-" $N) <<EOF# NegativeSyntax/bnodes-missing-pvalues-02.rqSELECT * WHERE {() . [,] . [,;] }EOF##--N=0N=$((N+1)) ; testBad $(fname "empty-optional-" $N) <<EOF# NegativeSyntax/empty-optional.rqSELECT * { OPTIONAL FILTER (?x) }EOFN=$((N+1)) ; testBad $(fname "empty-optional-" $N) <<EOF# NegativeSyntax/empty-optional-02.rqSELECT * { OPTIONAL GRAPH ?v OPTIONAL FILTER (?x) }EOFtestBad "filter-missing-parens.rq" <<EOF# NegativeSyntax/filter-missing-parens.rqSELECT * { ?s ?p ?o FILTER ?x }EOFtestBad "lone-list.rq" <<EOF# NegativeSyntax/lone-list.rqSELECT * WHERE { () }EOFtestBad "lone-node.rq" <<EOF# NegativeSyntax/lone-node.rqSELECT * WHERE {<a>}EOF

⌨️ 快捷键说明

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