Skip to main content

Apache Stanbol FISE: RESTful Python Client.

Project description

This is the Python client for Semantic Engine Apache Stanbol FISE (see also the old IKS-WIKI). Edutainment: Watch the Video by Olivier Grisel

FISE offers a RESTful API with basically three methods of interaction:

engines

stateless interface, submit content to the fise engines and get the resulting enhancements formatted as RDF at once without storing anything on the server-side.

store

Upload content to the store and in a second step get the enhancements back.

sparql

access FISE as a SPARQL endpoint (W3C conform).

This API covers engines and store. Sparql queries are best done by using existing library SuRF which is installed as a dependecy with this package.

Python API

Initialize:

>>> from fise.client import FISE
>>> fise = FISE('http://localhost:8080/')

Use the engines:

>>> somedoc = u"This is an example text."
>>> fise.engines(somedoc)
<xml...>

>>> fise.engines(somedoc, format='rdfjson')
jsonresponse

Use the store, first store content (only plain text is accepted for now):

>>> id = 'test123'
>>> fise.store.content[id] = payload

Next get the text back:

>>> fise.store.content[id]
u"This is an example text."

Then get the metadata:

>>> fise.store.metadata(id)
<RDF>

And FISE special feature: Get an HTML page about the content:

>>> fise.store.page(id)
<HTML>

Install

Demo Installation

If you want to try this package as is this is probably a good starting point.

Fetch the package sources and unpack them in a directory of your choice:

$ wget http://pypi.python.org/packages/source/f/fise.client/bda.cache-[VERSION].tar.gz
$ tar xzf bda.cache-[VERSION].tar.gz
$ cd bda.cache-[VERSION]

Python 2.6 or 2.7 needs to be available.

To avoid collisions with packages already installed in your pre-installed python virtualenv is used (instead of easy_install on Debian/Ubuntu sudo apt-get install python-virtual works fine):

$ easy_install virtualenv
$ python2.6 virtualenv  --no-site-packages py

Bootstrap and run the contained buildout. This fetches FISE early adopter release and provides a start script for FISE. It installs all Python dependencies of fise.client and provides a script to run all tests and a Python shell with all packaged installed:

$ ./py/bin/python bootstrap.py
$ ./bin/buildout

Start the FISE semantic engine.

$ ./bin/fise-instance

Now connect with a webbrower to http://localhost:8080/, the FISE web-frontend.

Running the tests shows if everything working as expected (needs a running fise-instance):

$ ./bin/tests

Start a Python shell with fise.client included:

$ ./bin/py

>>> from fise.client import FISE
>>>

Installation within existing environment

To add this package to an existing environment do:

$ easy_install fise.client

Or if your using zc.buildout add a line to the eggs in your buildout.cfg and re-run buildout:

[buildout]
...
eggs =
...
    fise.client
...

Or if your’e writing an own python-package add it to the install_requires section.

Changelog

1.1

  • make it work with restkit 3.2.3 [jensens, 2011-06-07]

1.0

  • initial code, tests and documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fise.client-1.1.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file fise.client-1.1.tar.gz.

File metadata

  • Download URL: fise.client-1.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fise.client-1.1.tar.gz
Algorithm Hash digest
SHA256 ef47b881cc264c9efd773a9bdfad80d9482d627e3cbfe7cb1c7fbd259445091a
MD5 31d1d44d26e41b56f23e124c28fd1355
BLAKE2b-256 ec2d6c920c40914571333000c543278e941cc2d3b48c42267d99750ffce3fb1f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page