The following syntactic shortenings are supported in v0.2.3:
Standard XPathShort Form
child::* >::*
parent::* <::*
descendant::* >>::*
descendant-or-self::* =>>::*
ancestor-or-self::* <<=::*
following::* ->::*
preceding::* <-::*
preceding-sibling::* <$::*

Here are some simple queries: While there is no command line utility, this is very easy to access using the API. The following code can be used to produce counts of queries:
    public int getCount(String ptbRoot, String xpathExpr) throws Exception{

        //The navigator provides iterators that
        //traverse the tree.
        PTBNavigator nav = new PTBNavigator(null);

        //Compile the XPath expression
        PTBXPath xp = (PTBXPath)(nav.parseXPath(xpathExpr));
        int count = 0;

        //For each treebank file
        for(PTBTask task = new PTBTask(ptbRoot);task.hasNext();){

            //Get the abstract root node whose children
            //are the sentences.
            PTBTreeNode root =;
            //For each sentence
            for(Enumeration children = root.children(); children.hasMoreElements();){

                //Set a sentence as the root of a tree against
                //which an expression is run

                //Run the expression
                count += ((List)xp.evaluate(nav.getRoot())).size();
        return count;

Relevant Packages: edu.upenn.cis.ptb.xpath and edu.upenn.cis.ptb.util
The following are queries from the Bird et al. paper in our notation. Please refer to the paper for details on the semantics. "subtree" and "i-foll" are implemented as functions which take two arguments. Their signatures are as follows:
node-set subtree(node-set, string)

node-set i-foll(node-set, string)
The second argument is a string which should be a valid xpath expression, and it is applied to each node in the node-set supplied in the first argument. Since we need the ability to embed these functions, curly braces are used instead of quotes in the expressions above.