Frameworks
Various frameworks that we might decide to use
SPIN, SPARQLmotion, SWP
- SPIN (SPARQL Inferencing Notation] uses SPARQL to define functions, rules, constraints and inferred properties over RDF classes, and goes way beyond OWL2 expressive power
- eg constraint: Square is a subClass of Rectangle for which hasWidth=hasHeight
- eg computed property of Rectangle: hasArea := hasWidth * hasHeight
- UISPIN (aka SWP, SPARQL Web Pages) is a UI framework using semweb UI descriptions and SPIN to access data through SPARQL queries
- SPARQLmotion is a framework for defining ETL processing using SPARQL
- SPINMap is a SPARQL Ontology Mapping framework with a Graphical Notation
These are developed by TopQuadrant and proposed for standardization to W3C. Source status is unknown
SWI Prolog
(In case you thought Prolog is dead . But I'm very far from suggesting that we use this)
SWI Prolog and the ClioPatria semantic application server is used in many of the Semantic Web projects of VU Amsterdam.
- Eg Amalgame vocabulary mapping, Semantic search in Europeana ThoughtLab, Europeana LOD pilot for the Amsterdam Museum, current development of Europeana Data Model (EDM)
- Interesting articles on how to extend Prolog to be usable for large-scale web and semweb applications:
- In particular see Jan Wielinga's PhD thesis that includes most of the articles
TODO: make matrix showing which tool covers which component
Multi-tenancy
Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants). Multitenancy is contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations. With a multitenant architecture, a software application is designed to virtually partition its data and configuration, and each client organization works with a customized virtual application instance.
A writeup from CollectionSpace on Nuxeo multitenancy issues outlines some of the issues that need to be addressed:
ResearchSpace is a multi-tenant application, since:
- different institutions have their own content spaces and RDF graphs
- they share a common space and graph
- each can have its own terminology mapping and other
Luckily, the different tenants cannot customize aspects of ResearchSpace to a significant degree.