Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

AtomGraph/Web-Client

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

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.

Installation

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).

Structure

Java

  • org.graphity: Classes shared by all Graphity applications
    • org.graphity.adapter: DatasetAdapter-related wrappers for Model caching via Graph store protocol
    • org.graphity.browser: Classes shared by all Graphity Browser applications
      • org.graphity.browser.Application: Entry point to the Browser webapp. JAX-RS Resources, Providers, and configuration is initialized here
      • org.graphity.browser.Resource: Base class for all Browser Resources and apps built on it. Subclass of LinkedDataResourceImpl.
      • org.graphity.browser.SPARQLResource: JAX-RS Resource for SPARQL endpoint/editor
      • org.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's Locator interface. Need to be added to DataManager to take effect.
      • org.graphity.browser.provider: Browser-specific subclasses for writing Response. XSLT stylesheets located in WEB-INF/xsl and its subfolders. They translate request parameters into XSLT parameters.
    • org.graphity.model: Graphity model interfaces
      • org.graphity.model.LinkedDataResource: Prototypical RDF Resource interface
      • org.graphity.model.impl: Implementations of Graphity model interfaces
        • org.graphity.model.impl.LinkedDataResourceImpl: Base class implementation of LinkedDataResource
    • org.graphity.provider: Generic Provider classes for reading request/writing Response
      • org.graphity.provider.ModelProvider: Reads Model from request body/writes Model to Response body
      • org.graphity.provider.RDFPostReader: Reads Model from RDF/POST requests
      • org.graphity.provider.ResultSetWriter: Writes ResultSet with SPARQL results into Response
      • org.graphity.provider.xslt: Abstract base classes for XSLT transformation-based Response writers
    • org.graphity.util: Utility classes
      • org.graphity.util.QueryBuilder: Builds Jena Query or SPIN Query from components (e.g. LIMIT/OFFSET parameters; RDF resources specifying OPTIONAL 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's Locator interface.
        • org.graphity.util.locator.LocatorGRDDL: Generic base class for GRDDL XSLT transformation-based Locators. Also see stylesheets in WEB-INF/xsl/grddl/.
        • org.graphity.util.locator.LocatorLinkedData: General-purpose class for loading RDF from Linked Data URIs using content negotiation
        • org.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 of LocationMapper for mapping resource (class, property etc.) URIs into local copies of known ontologies. Also see resources/location-mapping.ttl; ontologies are cached in WEB-INF/owl.
      • org.graphity.util.manager: RDF data management classes
        • org.graphity.util.manager.DataManager: Subclass of Jena's FileManager for loading Models and ResultSets from the Web. All code making requests for RDF data or SPARQL endpoints should use this class. Implements URIResolver and resolves URIs when document() 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 to DataManager to take effect.
      • org.graphity.util.oauth: Classes related to JAX-RS implementation of OAuth
    • org.graphity.vocabulary: Graphity ontologies as classes with Jena Resources

XSLT

  • WEB-INF/xsl
    • WEB-INF/xsl/grddl: XSLT stylesheets for use with LocatorGRDDL and its subclasses
    • WEB-INF/xsl/imports: Ontology-specific stylesheets (e.g. overriding templates for certain properties), imported by the master stylesheet
      • WEB-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 XHTML
    • WEB-INF/xsl/rdfxml2google-wire.xsl: Generic conversion from RDF/XML to Google DataTable
    • WEB-INF/xsl/sparql2google-wire.xsl: Generic conversion from SPARQL XML results to Google DataTable

Resources and Queries

  • WEB-INF/owl/graphity.ttl: Contains ontology reused by all Graphity applications
  • WEB-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.

Tools

Validators

Morty Proxy This is a proxified and sanitized view of the page, visit original site.