#<HTML>
#<XMP>
# KEHOME/bin/GetData
# Aug/3/2003
#set -x

# GetData question
#   question ::=
#	subject predicate inverse
# Example
#   GetData Person subClassOf yes

. systype.env

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
#============================================#
case "$systype" in
Linux)  
	export TAP_HOME="/home/tap";
	export CLASSPATH=".:../../tap.jar" ;
	export JAVA_HOME="/usr/java/j2sdk1.4.2";
	export PATH="$JAVA_HOME/bin:$PATH";;
Interix)
	export TAP_HOME="/home/tap";
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java";
	export PATH="$JAVA_HOME/bin:$PATH";;
Cygwin)
	export TAP_HOME="/home/tap";
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java";
	export PATH="$JAVA_HOME/bin:$PATH";;
WinXP)
	export TAP_HOME="C:/home/tap";
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="C:/home/java";
	export PATH="$JAVA_HOME/bin;$PATH";;
Win98)
	export TAP_HOME="E:/home/tap";
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="F:/home/java";
	export PATH="$JAVA_HOME/bin;$PATH";;
esac

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
#===============================#
case "$systype" in
Linux)
	javac mkrGetData.java;
	java  mkrGetData;;
Interix)
	javac.exe mkrGetData.java;
	java.exe  mkrGetData;;
Cygwin)
	javac.exe mkrGetData.java;
	java.exe  mkrGetData;;
WinXP)
	javac.exe mkrGetData.java;
	java.exe  mkrGetData;;
Win98)
	javac.exe mkrGetData.java;
	java.exe  mkrGetData;;
esac
chmod 777 mkrGetData.java
chmod 777 mkrGetData.class
#</XMP>
#</HTML>
