Acropolis
Introduction
Acropolis is a toolkit for building and maintaining knowledge graphs. The Acropolis stack powers the BBC's Research & Education Space and Datalab projects.
Research & Education Space
RES's purpose is to construct a knowledgebase of Linked Open Data, a reasonable amount of which (thanks in part to our intervention) ought to concern or relate to creative works with associated accessible (subject to licensing/access controls) media assets which may be presented in a variety of ways, and in doing so always represent the origins of the data and ensure where possible that applications can retrieve it, both because RES won't always retain the finer (domain-specific) detail, and because RES doesn't claim to be authoritative.
Datalab
Components
m4
Build system support macros
liburi
URI parsing and manipulation library
libawsclient
Client access library for services speaking AWS protocols
libsparqlclient
Client access library for SPARQL-savvy graph stores
libsql
Client access library for SQL databases
libcluster
Self-balancing cluster library
- Add support for https://github.com/i-scream/libstatgrab?
libsupport
Should be renamed to libappconfig
and have logging elements removed (replaced with liblogging
)
Anansi
Web crawler
Twine
RDF-oriented workflow processing server
Quilt
Linked Data server
- Support
GET
requests including a structured request payload? (JSON?)- Can this be implemented without breaking caching? Is there a
Vary: body
? - More trouble than it's worth?
- Should be a
POST
? But then breaks semantics?
- Can this be implemented without breaking caching? Is there a
- Other HTTP methods should be at least handled; it should then be up to the engine to decide what to do.
- e.g., Patchwork could accept S/MIME-signed
PUT
requests to enqueue graphs for processing?
- e.g., Patchwork could accept S/MIME-signed
- Configurable routing (e.g., send different URI patterns to different engines)
- Incoming URI and query-parameter transformation
- It should be straightforward to implement this with neglible loss of efficiency
Spindle
Knowledge-base processing engine for Twine
Patchwork
Knowledge-base server engine for Quilt
- Add support for multiple
?uri=URI
query-parameters, return a single RDF doc containing all of the requested entities.- Add a configurable soft-limit for the number of URIs which will be processed in a single query