TweetyProject@Web Defeasible Logic Programming Server status: This webpage provides a web service for Defeasible Logic Programming (DeLP). For details see the main reference: Alejandro Garcia and Guillermo R. Simari. Defeasible Logic Programming: An Argumentative Approach. Theory and Practice of Logic Programming 4(1-2):95--138, 2004. Online querying Enter your knowledge base and query and hit the "submit" button. Knowledge base: Bird(opus). Penguin(tweety). Wings(tweety). Bird(X) <- Penguin(X). Fly(X) -< Bird(X). ~Fly(X) -< Penguin(X). Query: Knowledge base and query syntax The syntax of knowlege bases for Defeasible Logic Programming is given via the following BNF: THEORY ::== (EXPRESSION)* EXPRESSION ::== FACT | STRICTRULE | DEFEASIBLERULE FACT ::== LITERAL + "." STRICTRULE ::== LITERAL + "<-" + RULEBODY + "." DEFEASIBLERULE ::== LITERAL + "-<" + RULEBODY + "." RULEBODY ::== LITERAL | LITERAL + "," + RULEBODY LITERAL ::== "~" + ATOM | ATOM ATOM ::== PREDNAME | PREDNAME + "(" + TERMLIST + ")" TERMLIST ::== TERM | TERM + "," + TERMLIST TERM ::== VARIABLE | CONSTANT PREDNAME is a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with an uppercase letter at the beginning. VARIABALE is a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with an uppercase letter at the beginning. CONSTANT is a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with an lowercase letter at the beginning. The syntax of queries is that of the token LITERAL from above. REST API and source code The above web interface uses a REST API to remotely access the TweetyProject server for querying. If you need to integrate the web service in your own applications you can also use this REST API directly. Communication between a client and the server is done using JSON (in UTF-8), the URL of the server is . The API supports only one command at this point: Query a Defeasible Logic Program Querying a Defeasible Logic Program is done by issuing the request {    "cmd": "query",    "email": "",    "compcriterion": "",    "kb": "",    "query": "" } to the server. The attribute compcriterion refers to the used comparison criterion for arguments, acceptable values are genspec (for generalized specificy, this is recommended) or empty. In response to this request the server will reply with a JSON of the form {    "reply": "query",    "email": "",    "compcriterion": "",    "kb": "",    "query": ""    "answer": "" } You may also want to look at scripts.js which is the JavaScript file underlying the web-based client on this page in order to see how the API is used from within JavaScript. The source code of the server and the used solver for DeLP can be found in the TweetyProject collection of Java libraries for logical aspects of artificial intelligence and knowledge representation. More specifically, a good entry point for the server software is the class DelpService.java . All source code is published under the GNU General Public License version 3.0 except when this is noted otherwise. Contact This page and TweetyProject is maintained by Matthias Thimm. If you are interested in participating in the development of TweetyProject or have general comments and/or questions please write an e-mail to matthias@mthimm.de. Last updated 07.08.2018, Matthias Thimm | Terms