UMBC has constructed ITTalks as a DAML application. In order to extend its abilities and its use of DAML, we have been working on DAML-based reasoning, to facilitate such tasks as interest-based talk matching and Agent Communication Language manipulation/understanding. To this end, we have engineered two DAML-based inference engines.
ITTalk Inference Engine (IE) version 1
The IE uses SWI-Prolog, with the SWI-Prolog SGML parser as a DAML parser.
How Interest Matching in ITTalks works:
- The user first submits a query at the IITalks website. The query includes:
- The URI of the user's profile (a DAML file ).
- The number of desired results.
- A search description (a daml file) is generated, based on Search.daml, which defines the search ontology.
- The search description is sent to the IE, which parses the daml file, reads the user profile (through the HTTP) interface, reads the profile ontology daml file, and parses them into triples.
- The IE reads the ACM Topic ontology daml file, gets all the talks from www.ittalks.org (through the HTTP) interface, and parses them into triple.
- The IE does an interest match, computing the distance between user interests and talk topics, and generating an interest level for each.
- Interest levels are ranked, revealing the talks of greatest interest to the user (the result number is specified in the query daml file) , generate result daml file which follow result ontology defined by result.daml ;
- Results are returned to the user.
http://www.cs.umbc.edu/~yzou1/daml
Based on "An Axiomatic Semantics for RDF, RDF-S and DAML+OIL "
by Richard Fikes and Deborah L Mcguinness
Function:
- Validate DAML
- Define a Frame Language: Class, subclassof, range, instanceof,…
- Can be used for DAML Query: Read a DAML Schema file, build model in XSB, read daml instance data; accept query and output result.
ITTalk Inference Engine (IE)Version 2
This version uses XSB as an Inference Engine, Yajxb as the XSB Bridge to the Java language, and the RDF API as a DAML parser. Read more about it >>> here <<<.We have an IE running at the User Agent, which tries to resolve the user's interests and schedule constraints with the parameters of upcoming talks. The daml file will be parsed into Triples and put into XSB. Based on DAML rules (Translation of DAML KIF definition into XSB) and matching rules, the IE can answer queries from the user agent.
The user can also define complex rules for the agent which, with the XSB Engine, will determine the agent's behavior.