Commit ee562aa3 authored by Sylvain Schmitz's avatar Sylvain Schmitz

reorganise EFO

parent dcec0e8d
......@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema file="xpath-efo-basic.rnc"
name="Core~1.0"
color="#ccebc5">
<bib>
<author>Floris Geerts</author>
<author>Weifei Fan</author>
<title>Satisfiability of XPath Queries with Sibling Axes</title>
<venue volume="3774" series="LNCS" article="122--137"
abbr="DBLP'05">Proceedings of the 10th International
Workshop on Database Programming Languages</venue>
<year>2005</year>
<doi>10.1007/11601524_8</doi>
</bib>
</schema>
<schema file="xpath-1.0-core-basic.rnc"
name="Core 1.0"
color="#ccebc5">
......
......@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema file="xpath-efo-basic.rnc"
name="Core~1.0"
color="#ccebc5">
<bib>
<author>Floris Geerts</author>
<author>Weifei Fan</author>
<title>Satisfiability of XPath Queries with Sibling Axes</title>
<venue volume="3774" series="LNCS" article="122--137"
abbr="DBLP'05">Proceedings of the 10th International
Workshop on Database Programming Languages</venue>
<year>2005</year>
<doi>10.1007/11601524_8</doi>
</bib>
</schema>
<schema file="xpath-1.0-core-full.rnc"
name="Core 1.0"
nametex="Core1.0"
......
......@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema file="xpath-efo-orig.rnc"
name="Core~1.0"
color="#ccebc5">
<bib>
<author>Floris Geerts</author>
<author>Weifei Fan</author>
<title>Satisfiability of XPath Queries with Sibling Axes</title>
<venue volume="3774" series="LNCS" article="122--137"
abbr="DBLP'05">Proceedings of the 10th International
Workshop on Database Programming Languages</venue>
<year>2005</year>
<doi>10.1007/11601524_8</doi>
</bib>
</schema>
<schema file="xpath-1.0-core-orig.rnc"
name="Core~1.0"
color="#ccebc5">
......
......@@ -23,7 +23,7 @@
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-core-join.rnc" {
include "xpath-1.0-core-basic.rnc" {
fun = element functionCallExpr {
element functionName {
attribute xqx:prefix { string "fn" }?,
......@@ -36,3 +36,8 @@ include "xpath-1.0-core-join.rnc" {
}
fun |= cst.fun | fun.child | fun.name
}
op |= element ( intersectOp | neOp | equalOp | notEqualOp ) {
element firstOperand { expr },
element secondOperand { expr }
}
\ No newline at end of file
......@@ -19,7 +19,7 @@
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-efo-join.rnc"
include "xpath-1.0-efo-basic.rnc"
include "expr/extra.rnc"
......
# Positive existential FO fragment of XPath in Relax NG compact
# syntax. See Geerts and Fan, Satisfiability of XPath Queries with
# Sibling Axes, _International Workshop on Database Programming
# Languages_ (DBPL 2005), Lect. Notes in Comput. Sci. 3774:122-137,
# Springer 2005, Theorem 4.
#
# Copyright (C) 2016-2018
# David Baelde, Anthony Lick and Sylvain Schmitz (ENS Cachan)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-core-orig.rnc" {
fun = element functionCallExpr {
element functionName {
attribute xqx:prefix { string "fn" }?,
attribute xqx:URI { string "http://www.w3.org/2005/xpath-functions" }?,
( string "true"
| string "false"
| string "boolean" )
},
element arguments { expr* }?
}
}
op |= element ( intersectOp | neOp | equalOp | notEqualOp ) {
element firstOperand { expr },
element secondOperand { expr }
}
\ No newline at end of file
......@@ -3,17 +3,17 @@
# path to benchmark files
path=$1
full=$2
xmlarray=(docbook htmlbook existdb histei marklogic xqjson)
names=(DocBook HTMLBook eXist-db HisTEI MarkLogic XQJSON)
xmlarray=(docbook teixsl htmlbook existdb histei xquerydoc marklogic xqjson guidomatic)
names=(DocBook TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-matic)
echo "\\toprule"
echo "Source & \\textsf{Core~1.0} & \\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "Source & \\textsf{Positive} & \\textsf{Core~1.0} & \\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "\\midrule"
for ((i = 0; i < ${#xmlarray[@]}; ++i))
do
printf "${names[$i]} "
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml 'xpath-1.0-core-basic.rnc.*yes' 'xpath-2.0-core-basic.rnc.*yes' 'xpath-1.0-downward-basic.rnc.*yes' 'xpath-1.0-vertical-basic.rnc.*yes' 'xpath-1.0-forward-basic.rnc.*yes' 'xpath-emso2-basic.rnc.*yes' 'xpath-non-mixing-basic.rnc.*yes'`\\\\"
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml '<schema>' 'xpath-efo-basic.rnc.*yes' 'xpath-1.0-core-basic.rnc.*yes' 'xpath-2.0-core-basic.rnc.*yes' 'xpath-1.0-downward-basic.rnc.*yes' 'xpath-1.0-vertical-basic.rnc.*yes' 'xpath-1.0-forward-basic.rnc.*yes' 'xpath-emso2-basic.rnc.*yes' 'xpath-non-mixing-basic.rnc.*yes'`\\\\"
done
echo "\\bottomrule"
......@@ -9,13 +9,13 @@ names=(DocBook TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-ma
#names=(DocBook HTMLBook eXist-db HisTEI MarkLogic XQJSON)
echo "\\toprule"
echo "Source & queries & EFO & EFO-Xtra & \\textsf{Core~1.0} & Core1-Xtra\\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "Source & queries & \\textsf{Positive} & \\textsf{Positive}-Xtra & \\textsf{Core~1.0} & \\textsf{Core~1.0}-Xtra\\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "\\midrule"
for ((i = 0; i < ${#xmlarray[@]}; ++i))
do
printf "${names[$i]} "
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml '<schemas>' 'xpath-1.0-efo-join.rnc.*yes' 'xpath-1.0-efo-extra.rnc.*yes' 'xpath-1.0-core-full.rnc.*yes' 'xpath-1.0-core-extra.rnc.*yes' 'xpath-2.0-core-join.rnc.*yes' 'xpath-1.0-downward-last.rnc.*yes' 'xpath-1.0-vertical-full.rnc.*yes' 'xpath-1.0-forward-last.rnc.*yes' 'xpath-emso2-full.rnc.*yes' 'xpath-non-mixing-basic.rnc.*yes'`\\\\"
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml '<schemas>' 'xpath-efo-basic.rnc.*yes' 'xpath-efo-extra.rnc.*yes' 'xpath-1.0-core-full.rnc.*yes' 'xpath-1.0-core-extra.rnc.*yes' 'xpath-2.0-core-join.rnc.*yes' 'xpath-1.0-downward-last.rnc.*yes' 'xpath-1.0-vertical-full.rnc.*yes' 'xpath-1.0-forward-last.rnc.*yes' 'xpath-emso2-full.rnc.*yes' 'xpath-non-mixing-basic.rnc.*yes'`\\\\"
done
echo "\\bottomrule"
......@@ -3,17 +3,17 @@
# path to benchmark files
path=$1
full=$2
xmlarray=(docbook htmlbook existdb histei marklogic xqjson)
names=(DocBook HTMLBook eXist-db HisTEI MarkLogic XQJSON)
xmlarray=(docbook teixsl htmlbook existdb histei xquerydoc marklogic xqjson guidomatic)
names=(DocBook TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-matic)
echo "\\toprule"
echo "Source & \\textsf{Core~1.0} & \\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "Source & \\textsf{Positive} & \\textsf{Core~1.0} & \\textsf{Core~2.0} & \\textsf{Downward} & \\textsf{Vertical} & \\textsf{Forward} & \\textsf{EMSO\$^\\textsf 2\$} & \\textsf{NonMixing}\\\\"
echo "\\midrule"
for ((i = 0; i < ${#xmlarray[@]}; ++i))
do
printf "${names[$i]} "
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml 'xpath-1.0-core-orig.rnc.*yes' 'xpath-2.0-core-orig.rnc.*yes' 'xpath-1.0-downward-orig.rnc.*yes' 'xpath-1.0-vertical-orig.rnc.*yes' 'xpath-1.0-forward-orig.rnc.*yes' 'xpath-emso2-orig.rnc.*yes' 'xpath-non-mixing-orig.rnc.*yes'`\\\\"
echo "`./numbers.sh $path/${xmlarray[$i]}$2.xml '<schema>' 'xpath-efo-orig.rnc.*yes' 'xpath-1.0-core-orig.rnc.*yes' 'xpath-2.0-core-orig.rnc.*yes' 'xpath-1.0-downward-orig.rnc.*yes' 'xpath-1.0-vertical-orig.rnc.*yes' 'xpath-1.0-forward-orig.rnc.*yes' 'xpath-emso2-orig.rnc.*yes' 'xpath-non-mixing-orig.rnc.*yes'`\\\\"
done
echo "\\bottomrule"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment