200 likes | 267 Views
GraniteNights. Gunnar Aastrand Grimnes , Stuart Chalmers, Pete Edwards & Alun Preece. A Multi-Agent Visit Scheduler Utilising Semantic Web Technology. GraniteNights , Gunnar Aastrand Grimnes, CIA, August 2003. Introduction & Talk Overview. GraniteNights:
E N D
GraniteNights Gunnar Aastrand Grimnes, Stuart Chalmers, Pete Edwards & Alun Preece A Multi-Agent Visit Scheduler Utilising Semantic Web Technology GraniteNights, Gunnar Aastrand Grimnes, CIA, August 2003.
Introduction & Talk Overview • GraniteNights: • Initially made for Agentcities Competition. • Demo’ed @ AC ID3 in Barcelona, Feb. 03. • Talk: • Introduction • Architecture • Implementation • Lessons Learned • The Future
Screenshots II • GraniteNights remembers users and learns their preferences over time.
Information Agents • Wraps RDF files. • Query by RDQL or Query By Example. • Pub and Restaurant agents are static. • Cinema agent is updated daily from WWW with films currently showing in Aberdeen. • All three are independent FIPA agents, accessible outside GraniteNights.
Query By Example • QBex is an RDF based query language. • Variables & constraints are supported. • Internally converted to RDQL: <q:Query> <q:template> <akt:Academic> <akt:family-name> Brown </akt:family-name> </akt:Academic> </q:template> </q:Query> SELECT?xWHERE(?x,?y,?z), (?x, <rdf # type>, <akt # Academic> ), (?x, <akt # family-name>, "Brown" )
QBeX : Variables • Using an RDF based constraint interchange format, QBeX can represent expressions like: Query(X): { type(X, Restaurant), serves(X, Tandoori), openingTime(X,Y), Y>1900. }
Content & Ontologies • Most RDF content generated manually using web form (or text editor :). • Ontologies from Agentcities.RTD project: • Shows (cinema) • Restaurants • Utilities ( address, time/dates etc. ) • Home grown ontologies: • Beer & Pubs ( based on Shoe example ontology ) • Evening plans & User profiles • Query by Example
SchedulerAgent • Uses Constraint Logic Programming over finite domains to schedule evening. • A general agent component, also used in the Conoise project. • RDF maps easily to prolog representation.
Location Constraints • Aberdeen split into 9x9 grid. • Possible constraints: • Short walk (15 min) : Adjacent square • Long walk (30 min) : Within 2 squares • Taxi ride : Everything else
ProfileAgent • Register new users / authenticate logins. • Keep track of previous interactions. • Learn user preferences. • Independent FIPA agent, also used by other projects. • All expressed using RDF, allowing extension of a profile using any RDF based ontology and easy profile re-use.
Example Profile <rdf:Description ep:name=“Gunnar"> <ep:preferences> <rdf:Bag> <rdf:_1> <query:Query> <query:template> <pub:EnglishPub> <pub:servesBeer rdf:nodeID="A0" cif:variableVarname="x" rdf:type="cif#Variable"/> </pub:EnglishPub> </query:template> <query:constraints> <cif:Comparison cif:comparisonOperator="="> <cif:comparisonOp1 rdf:nodeID="A0"/> <cif:comparisonOp2> <cif:BoolOr> <cif:boolOrOp rdf:resource="beer#grolsch"/> <cif:boolOrOp rdf:resource="beer#guinness"/> </cif:BoolOr> </cif:comparisonOp2> </cif:Comparison> </query:constraints> </query:Query> </rdf:_1> ... ... <rdf:_2> <query:Query> <query:template> <res:Restaurant> <res:typeOfCuisine rdf:type="restaurant#Pizza"/> </res:Restaurant> </query:template> </query:Query> </rdf:_2> <rdf:_3> <query:Query> <query:template> <show:Shows> <show:show rdf:resource="films#Sinbad"/> </show:Shows> </query:template> </query:Query> </rdf:_3> </rdf:Bag> </ep:preferences> </rdf:Description>
Implementation • BlueJADE & JBoss J2EE Application Server. • JADE & Jena for RDF handling. • SICStus Prolog with Jasper for interfacing with Java. • All runs on RedHat Linux server from Agentcities.NET grant.
Lessons Learned • Lightweight ontologies are sufficient for building practical applications. • FIPA-SL vs. RDF: • Although FIPA-SL is more expressive… • RDF has a much larger user-base and tool-set. • JADE agents + RDF/XML for message content work well! • RDF for user-modelling enables understandable and reusable user profiles!
The Future • GraniteNights and its components are currently being used for several research projects at Aberdeen. • Further exploration of adaptive user-profiling in the context of the Semantic Web and GraniteNights. • May be central in collaboration with local industry partners to explore wireless connectivity. • Future of Agentcities network.
QBeX – CIF Example <q:Query> <q:template> <r:Restaurant> <r:servesrdf:resource=“r#Tandoori" /> <r:open-time> <cif:Variablerdf:ID="x"> <cif:varname>x</cif:varname> </cif:Variable> </r:open-time> </r:Restaurant> </q:template> <q:constraints> <cif:Comparison> <cif:comparisonOperator>></cif:comparisonOperator> <cif:comparisonOp1> <cif:Variablerdf:about="#x"/> </cif:comparisonOp1> <cif:comparisonOp2> <cif:Integerconst> <cif:constantValue>1900</cif:constantValue> .. . .
The single most important thing to remember from this talk: • VOTE FOR US IN THE COMPETITION! Dr Pete Edwards Dr Alun Preece Gunnar Grimnes Stuart Chalmers