Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the BigSemanticsService wiki!
You will need to set up a development environment.
Table of Contents
Meta-Metadata is a language and software architecture for representing the rich metadata structures of the world's information. It transforms the wild web into a structured type system and ontology of semantics facilitating extraction, manipulation, visualization and embodiment of the world's data.
The BigSemantics Service provides RESTful access to the powerful meta-metadata semantics system through HTTP requests, returning for JSON or XML representations of the meta/metadata resources.
Resource identification and request methods are described in the following sections.
The XML or JSON representations can be deserialized into a wide set of S.IM.PL. supported programming languages (Java / C# / Python, to name a few), thus greatly reducing the development effort and providing a platform agnostic framework for rich semantics based applications.
The service is available on ecology-service.
The URI template for the requesting the resources is:
- resource : metadata or mmd
- format : xml or json
- source_url : percent-encoded url of the information source 
- span : span of the linked metadata graph (breadth-first)
This is faster as the request is not redirected.
- mmd_name : name of the meta-metadata, as defined in the wrapper
A client for a RESTful service can be constructed in several possible ways. Few of them are listed here:
- Jersey Client API 
- Upcoming JAX-RS 2.0 [defining]
- .NET Framework 
- Using cURL or Wget
- Or, using Web Browser as a client
Client c = Client.create(); c.setFollowRedirects(true); WebResource r = c.resource(uri); ClientResponse response = r.get(ClientResponse.class);
String entity = response.getEntity(String.class); (Metadata)scope.deserialize(entity, StringFormat.XML);
A spec for the response code and message is available at spreadsheet. This specification applies to OODSS version of the semantic service as well.
A test suite is available at https://github.com/ecologylab/BigSemanticsService/tree/master/BigSemanticsService/test which contains meta/metadata test cases. They can be run individually or as a suite using the TestRunner by adding BasicTest references of the desired testcases.
The tests check for the response codes and the response message and in case of valid content, compare the meta/metadata to locally generated versions. A concurrent test runner would also be added to the suite.
Also see Perf Testing.
Administrator utilities include logger and deployment script.
Logs include the information of meta/metadata requests received, result and time taken. It will also include local document collection and DB cache information.
Ant script is provided for building and deploying the latest version to the main server. With sufficient privileges, it is possible to hot-deploy the latest version of the service just by executing the deploy target of this script. See Deployment for details.