America,

Here's what Brad Bouldin found that we have in the web services code, along with an example.
 
He says he just tested it to make sure it works. You'll notice a call to...

assertWithTranscriptAndBookkeeping

I didn't see that method in the API docs, but here it is and it works.

- John D.

 
http://65.99.218242:8080/RESTfulCyc/Assert.jsp
Enter:
     (#$implies     (#$isa ?OBJ #$Poodle)    (#$isa ?OBJ #$Dog))
    #$BaseKB
 
Result:
<cyclify><success></success></cyclify>
Here is the source code:
protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
   IOException {
  System.out.println("POST STARTED");
  final Writer w = response.getWriter();

  final String assertStatement = request.getParameter("assert");
  final String microtheory = request.getParameter("microtheory");
  if (assertStatement == null) {
   return;
  } else if (assertStatement.equals("")) {
   return;
  }
  if (microtheory == null) {
   return;
  } else if (microtheory.equals("")) {
   return;
  }

  final String requestor = request.getRemoteAddr();
  System.out.println("requestor:" + requestor);

  w.write("<cyclify>");
  try {
   CycAccess cyc = null;

   cyc = CycRESTServlet.getCyc();
   final CycFort mt = cyc.getConstantByName(microtheory);
   if (mt == null) {
    throw new IllegalStateException("Microtheory was not found:" + microtheory);
   }
   cyc.assertWithTranscriptAndBookkeeping(assertStatement, mt);

   final String result = "Success";
   if (result == null) {
    w.write("<error>nothing found</error>");
   } else {
    w.write("<success>");
    w.write("</success>");
   }

  } catch (final Exception e) {
   this.writeException(e, assertStatement + "/" + microtheory, "Assert", w);
  }

  w.write("</cyclify>");
 }



On Thu, Jul 10, 2008 at 4:39 PM, America Holloway <ahollowa@ics.uci.edu> wrote:
Hi,
How can I use the Java API to add a rule containing variables to a microtheory. There are many methods for asserting a GAF but I can't find a method for adding a rule. Any help would be greatly appreciated.

Thanks,
America.


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
OpenCyc-devel mailing list
OpenCyc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opencyc-devel




--
Website: http://www.actionitem.com
Twitter: http://twitter.com/johndeo
LinkedIn: http://www.linkedin.com/in/johndeo
Twine: http://www.twine.com/user/johndeo