# KEHOME/bin/GetData
# Apr/8/2003

# GetData question
# question ::=
#	subject predicate inverse

export systype="Windows"
#export systype="Linux"

subject="$1"
predicate="$2"
inverse="$3"	# "inv"|"yes"|"no"
case "$inverse" in
inv)	inverse="yes";;
esac
flags="inverse=$inverse"
flags="$flags,includeSubClasses=yes"
flags="$flags,includeSuperClasses=yes"

kbdata="http://tap.stanford.edu/data"

# setup Sun Java and Stanford TAP environment
#============================================#
export TAP_HOME="/home/tap";
case "$systype" in
Windows)
	export TAP_HOME="/home/tap";
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java";;
Linux)  
	export TAP_HOME="/home/tap";
	export CLASSPATH=".:../../tap.jar" ;
	export JAVA_HOME="/usr/java/j2sdk1.4.1_01";;
esac
export PATH="$JAVA_HOME/bin:$PATH"

cd "$TAP_HOME/Java/examples/tutorial"

# build the Java program
#=======================#
cat <<EOF  >mkrGetData.java
import edu.stanford.TAP.Abbrev;
import edu.stanford.TAP.Client;
import edu.stanford.TAP.Resource;
import edu.stanford.TAP.XML;

public class mkrGetData
{
    public static void main(String argv[])
    {
	Client tap = new Client("$kbdata/");
	Resource answer =
	    tap.GetData("$kbdata/$subject",
			"$kbdata/$predicate",
			"$flags");
	for(int x = 0; x < answer.count(); ++x) {
	    String tapAnswer = answer.item(x).value;
	    String mkrAnswer = XML.SplitNamespace(tapAnswer).tag;
	    System.out.println("  " + mkrAnswer);
	}
    }
}
EOF

# compile & execute Java program
#===============================#
javac mkrGetData.java
java  mkrGetData
