SWI-Prolog for the (semantic) web
The (semantic) web is one of the most promising application areas for SWI-Prolog. Prolog handles the semantic web RDF model naturally, where RDF provides a stable model for knowledge representation with shared semantics. It turns out that Prolog is also quite capable of providing web-services (HTTP), especially where it comes to dynamic generation of HTML pages and providing data for Javascript web-applications using the JSON serialisation.
Standard packages
Below are the most vital packages for programming web services and RDF processing.- Web-server and client library
- Core web package. Provides an HTTP server and client, session handling, authorization, logging, etc. Libraries for generating HTML pages and JSON.
- RDF storage and query library
- Load/save RDF and query it. The library loads and saves XML/RDF and Turtle. Its database scales to approx. 20M triples on 32-bit hardware and 300M triples on a 64-bit machine with 64-Gb memory. Also provides simple RDFS and OWL support.
- Spatial indexing library
- SWI-Prolog interface to Spatial Index and GEOS libraries, providing spatial indexing of URIs. Supports import and export to GML, KML, and RDF with GeoRSS Simple, GeoRSS GML, and W3C WGS84 vocabulary properties.
This package is provided in the source, but not (yet) in the binary distributions. The source contains instructions for building the dependencies and the indexer itself.
Separately distributed packages
Some packages are distributed separately.- The Triple20 ontology editor
- Graphical tool for browsing and editing ontologies. Not very well maintained, but useful for browsing loaded RDF and it has two nice features: it scales well and it can handle multiple ontologies and allows for editing them in a unified view.
- The ClioPatria semantic search web-server
- This library provides a ready-to-run web-server that includes a SPARQL endpoint, user-right management and RDF development tools. ClioPatria is an RDF-application development framework.
- Thea, an OWL library for SWI-Prolog
- Provides access to OWL ontologies at the level of the abstract syntax. Can interact with external DL reasoner using DIG. The project is hosted on GitHUB. See also Blip Blog, Logic Programming in Biology
0 comments:
Post a Comment