Skip to content

Description of the API for the Xowl semantic service (named entity recognition via dbpedia, watson, etc.)

Notifications You must be signed in to change notification settings

XIMDEX/xowl-service-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

xowl-service-api

Xowl service is a product owned by Open Ximdex Evolution. It's a API service that enhance your content with semantic links. To be able to use the service follow the steps below:

  1. Register in ximdex platform: http://xowl.ximdex.net/register/signup
  2. Confirm your email an access the platform to grab your token.
  3. At this point you are ready to query the service, you can get a response using the following data:
  • endpoint: service url
  • token: is a string of character
  • content: text to be enhancer
  1. So if to make a low level request you can use curl: curl URL -d 'token=TOKEN&content=TEXTUAL CONTENT'

Example:

curl http://xowl.ximdex.net/api/v1/enhance -d 'token=TOKEN&content=This is a very important text that talks about Albert Einstein'

At this moment the api service support both GET and POST request, but depending on the tool you use, you may have to manually url-encode the parameters to make a correct query.

The response is always a json object with the following structure:

{
  "semantic": [LabelWithEntities, ...],
  "text": "This is a very important <a href=\"http://dbpedia.org/resource/TEXT\" class=\"xowl-suggestion\" data-cke-annotation=\"text\" data-cke-type=\"dOrganisation\" data-cke-suggestions=\"3\">text<\/a> that <a href=\"http://dbpedia.org/resource/Talks\" class=\"xowl-suggestion\" data-cke-annotation=\"talks\" data-cke-type=\"others\" data-cke-suggestions=\"2\">talks</a> about <a href=\"http://dbpedia.org/resource/Albert_Einstein\" class=\"xowl-suggestion\" data-cke-annotation=\"Albert Einstein\" data-cke-type=\"dPerson\" data-cke-suggestions=\"3\">Albert Einstein<\/a>"
}

The semantic key is an array with objects. Each of them represents a portion of the original text that have been recognized as an entity. In semantic world a string could refer to many entities, so each LabelWithEntities has an array called entities. It's up to the user/developer how to manage this information, depending on the editor, the cms/dms, the visual editor used... Check drupal 7 client, drupal 8 client and wordpress 3.x client, these are plugins that integrates with those cms.

Screenshots

Wordpress Xowl client Wordpress client

Drupal Xowl client Drupal client

Xowl inside Ximdex CMS Drupal client

Xowl Demo Drupal client