Graphity Browser is a fully extensible generic Linked Data platform for building end-user Web applications. It can be used for exploration and browsing of remote datasources, publishing and analysis of open data, as well as import and integration of private user data.
Building a data-intensive Web application on Graphity Browser is as simple as overriding generic stylesheets with own layout and defining necessary queries. The platform supports standard RDF access methods such as Linked Data and SPARQL endpoints, and includes plugin mechanisms for importing file formats and APIs as RDF.
Graphity Browser is a Maven Web application.
Maven dependencies are discovered automatically from pom.xml
, others (such as SPIN API) are included as .jar
files in the /lib
folder (and can be "installed locally" using Maven).
org.graphity
: Classes shared by all Graphity applicationsorg.graphity.adapter
:DatasetAdapter
-related wrappers for Model caching via Graph store protocolorg.graphity.browser
: Classes shared by all Graphity Browser applicationsorg.graphity.browser.Application
: Entry point to the Browser webapp. JAX-RS Resources,Provider
s, and configuration is initialized hereorg.graphity.browser.Resource
: Base class for all Browser Resources and apps built on it. Subclass ofLinkedDataResourceImpl
.org.graphity.browser.SPARQLResource
: JAX-RS Resource for SPARQL endpoint/editororg.graphity.browser.SearchResource
: JAX-RS Resource for search/autocomplete (unfinished)org.graphity.browser.locator
: Pluggable classes for GRDDL import of 3rd party REST APIs and XML formats. Implement Jena'sLocator
interface. Need to be added toDataManager
to take effect.org.graphity.browser.provider
: Browser-specific subclasses for writingResponse
. XSLT stylesheets located inWEB-INF/xsl
and its subfolders. They translate request parameters into XSLT parameters.
org.graphity.model
: Graphity model interfacesorg.graphity.model.LinkedDataResource
: Prototypical RDF Resource interfaceorg.graphity.model.impl
: Implementations of Graphity model interfacesorg.graphity.model.impl.LinkedDataResourceImpl
: Base class implementation ofLinkedDataResource
org.graphity.provider
: GenericProvider
classes for reading request/writingResponse
org.graphity.provider.ModelProvider
: ReadsModel
from request body/writesModel
toResponse
bodyorg.graphity.provider.RDFPostReader
: ReadsModel
from RDF/POST requestsorg.graphity.provider.ResultSetWriter
: WritesResultSet
with SPARQL results intoResponse
org.graphity.provider.xslt
: Abstract base classes for XSLT transformation-basedResponse
writers
org.graphity.util
: Utility classesorg.graphity.util.QueryBuilder
: Builds JenaQuery
or SPINQuery
from components (e.g.LIMIT
/OFFSET
parameters; RDF resources specifyingOPTIONAL
or a subquery)org.graphity.util.XSLTBuilder
: Builds XSLT transformation out of components. Chaining is possible.org.graphity.util.locator
: Pluggable classes for retrieving RDF from URIs. Implement Jena'sLocator
interface.org.graphity.util.locator.LocatorGRDDL
: Generic base class for GRDDL XSLT transformation-basedLocator
s. Also see stylesheets inWEB-INF/xsl/grddl/
.org.graphity.util.locator.LocatorLinkedData
: General-purpose class for loading RDF from Linked Data URIs using content negotiationorg.graphity.util.locator.LocatorLinkedDataOAuth2
: General-purpose class for loading RDF from Linked Data URIs using content negotiation and OAuth2 authentication (unfinished)org.graphity.util.locator.PrefixMapper
: Subclass ofLocationMapper
for mapping resource (class, property etc.) URIs into local copies of known ontologies. Also seeresources/location-mapping.ttl
; ontologies are cached inWEB-INF/owl
.
org.graphity.util.manager
: RDF data management classesorg.graphity.util.manager.DataManager
: Subclass of Jena'sFileManager
for loadingModel
s andResultSet
s from the Web. All code making requests for RDF data or SPARQL endpoints should use this class. ImplementsURIResolver
and resolves URIs whendocument()
function is called in XSLT.org.graphity.util.manager.SPARQLService
: Represent individual SPARQL endpoints, should only be used in case authentication or other custom features are needed. Need to be added toDataManager
to take effect.
org.graphity.util.oauth
: Classes related to JAX-RS implementation of OAuth
org.graphity.vocabulary
: Graphity ontologies as classes with JenaResource
s
WEB-INF/xsl
WEB-INF/xsl/grddl
: XSLT stylesheets for use withLocatorGRDDL
and its subclassesWEB-INF/xsl/imports
: Ontology-specific stylesheets (e.g. overriding templates for certain properties), imported by the master stylesheetWEB-INF/xsl/imports/default.xsl
: Default templates for rendering RDF/XML subject/predicate/object nodes as XHTML elements. Design-independent.
WEB-INF/xsl/Resource.xsl
: master stylesheet (includes design) for rendering RDF/XML with both single and multiple resources (lists) into XHTMLWEB-INF/xsl/rdfxml2google-wire.xsl
: Generic conversion from RDF/XML to GoogleDataTable
WEB-INF/xsl/sparql2google-wire.xsl
: Generic conversion from SPARQL XML results to GoogleDataTable
WEB-INF/owl/graphity.ttl
: Contains ontology reused by all Graphity applicationsWEB-INF/ontology.ttl
: Graphity Browser-specific ontology, imports general Graphity ontology. Contains metadata of JAX-RS Resources as well as SPIN query Resources used by them.
- RDF/XML and Turtle validator
- SPARQL query validator
- [SPIN query converter] (http://spinservices.org/spinrdfconverter.html)