Archive for February, 2010

Thea Open Calais Prolog wrapper library

Wednesday, February 10th, 2010

Introduction

Open Calais is a Web service provided by Thomson Reuters. Open Calais analyses content using NLP and semantic tecniques and returns an RDF based response containing entities and relationships identified in the source and associated metadata.

thea_opencalais is a Prolog wrapper for accessing Open Calais and process the results. It is an application of Thea Prolog library for OWL2 Ontologies. thea_opencalais uses the Open Calais ontology and parses the service response first into Ontology axioms and finally into prolog terms and predicates, accessible from within a Prolog program.

Example

  1. Get your Open Calais license key and assert it as a Prolog fact:
         :- assert(thea_opencalais:open_calais(license('Your open calais license key'))).
  2. Load the Open Calais Ontology into Prolog using Thea.
        :- owl_parse_rdf('owl.opencalais-4.3.xml.owl',[imports(false),clear(complete)]).

    The Ontology in this example has been already downloaded in the working directory. Originaly it can be found here

  3. Post the content of a Wikipeadia page about papal visits to the Open Calais REST service
        :- oc_rest(http('http://en.wikipedia.org/wiki/List_of_journeys_of_Pope_Benedict_XVI'),'',_X).
  4. Use Prolog provided prolog predicates to examine Markup Elements (Entities and Relationships) in the result
     :-o c_entity(A,B,C,E,D).
           A = 'http://d.opencalais.com/genericHasher-1/f545c2a6-ccd3-3095-adb0-c1c8dda96624',
           B = 'http://s.opencalais.com/1/type/em/e/Anniversary',
           C = ['http://s.opencalais.com/1/pred/name'=literal('the 500th anniversary of Catholic...')],
           E = [instance_info('http://d.opencalais.com/dochash-1/2d1827f8-c251-36b1-bfe6-043a4a.....
           D = []
  5. You can also write custom predicates to query the resulted database of Markup Elements e.g.
        quotation(Person,Quotation) :-
                oc_relation(_I,'http://s.opencalais.com/1/type/em/r/Quotation',PVList),
                pv_attr('http://s.opencalais.com/1/pred/person',PVList,Person),
                pv_attr('http://s.opencalais.com/1/pred/quote',PVList,Quotation).

Download and use

Thea and thea_opencalais are open source licensed under GPL and are hosted on github. thea_opencalais module and examples can be found in apps/opencalais folder

Thessaloniki Semantic Web Meetup

Monday, February 8th, 2010

Thessaloniki Semantic Web meetup is an informal group of people -researchers and practinioners- who are interested in Semantic Web and  live and work in Thessaloniki.

The meetup is a member of http://www.lotico.com, a global alliance of communities interested in Semantic Web, sponsored by SemTech 2010.

It acts as a forum for getting together and exchange ideas and experiences on the Semantic Web and related topics, technologies and tools. There are meetings every 2 months where various topics are discussed and members give presentations of their work on projects related to Semantic Web and/or involved technologies.

The first meetup took place last November while in the second one, last January, Mike Salampasis presented the SeeBrowser, a semanticaly enhanced browser for visually impaired people.

Currently the meetup has 20 members mostly from the Academic institutions of the city but also from the IT sector.

Next meeting is planned for March 23 where Vangelis Vassiliadis will present Thea, a Prolog library for OWL2 ontologies.