#<HTML>
#<XMP>
# KEHOME/bin/mkrPutData
# Aug/15/2003

# Usage:
#	mkrPutData statement
#	PutData triple
# triple ::=
#	subject predicate object
# statement ::=
#	subject is   object			# identity/alias
#	subject isa  object with differentia	# definition
#	subject isu  object with differentia	# definition
#	subject iss  object with differentia	# definition
#	subject has  attribute
#	subject has  attribute = value
#	subject do   action done
#	subject do   action = event done
#
#	subject brel object		# binary relation
#	subject rel  relation		# binary relation
#	subject rel  relation = value	# binary relation
#	subject isin relation		# n-ary relation
#	subject isin relation = value	# n-ary relation
#
# brel ::=
#	isa | isu | iss
#	isc | isp | isg
#	isalt | ismem
#	isany | isall
#
# Example:
#	mkrPutData Roger_Costello isu  Person
#	PutData    Roger_Costello type Person
#echo "# mkrPutData $@"

subject="$1"
verb="$2"
object="$3"
op="$4"
shift 4
value="$*"
differentia="$*"
#echo "# INFO: mkrPutData: subject=$subject"
#echo "# INFO: mkrPutData: verb=$verb"
#echo "# INFO: mkrPutData: object=$object"
#echo "# INFO: mkrPutData: op=$op"
#echo "# INFO: mkrPutData: value=$value"
#echo "# INFO: mkrPutData: differentia=$differentia"

case "$verb" in
is)	PutData "$subject" sameAs	"$object";;
has)	PutData "$subject" "$object"	"$value";;
do)	PutData "$subject" "$object"	"$value";;

isa)	PutData "$subject" instanceOf	"$object";;
isu)	PutData "$subject" type  	"$object";;
iss)	PutData "$subject" subClassOf	"$object";;
isc)	PutData "$object"  instanceOf	"$subject";;
isp)	PutData "$object"  type		"$subject";;
isg)	PutData "$object"  subClassOf	"$subject";;

rel)	PutData "$subject" "$object"	"$value";;

isa\*)	PutData "$subject" isa*		"$object";;
isc\*)	PutData "$object"  isa*		"$subject";;

*)	PutData "$subject" "$object" "$value";;
esac # end case $verb

#</XMP>
#</HTML>
