1 / 20

GraniteNights

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:

elsie
Download Presentation

GraniteNights

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. 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

  3. Screenshots I

  4. Screenshots II • GraniteNights remembers users and learns their preferences over time.

  5. Architecture Diagram

  6. 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.

  7. 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" )

  8. 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. }

  9. 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

  10. 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.

  11. 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

  12. 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.

  13. 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>

  14. 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.

  15. 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!

  16. 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.

  17. Questions?

  18. 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>&gt;</cif:comparisonOperator> <cif:comparisonOp1> <cif:Variablerdf:about="#x"/> </cif:comparisonOp1> <cif:comparisonOp2> <cif:Integerconst> <cif:constantValue>1900</cif:constantValue> .. . .

  19. Ontology driven Web form for RDF generation:

  20. 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

More Related