Starfish is an open-sourced developer toolkit for the data economy. The toolkit allows developers, data scientists and enterprises to create, integrate and manage data supply lines through standardised and simple-to-use APIs.
Starfish is a developer toolkit for the data economy. Based on underlying data ecosystem standards (see Data Ecosystem Proposals), Starfish provides high-level APIs for common tasks within the data economy, for example, registering/publishing an asset, for subsequent use in a data supply line. In this case, an asset can be any data set, model or data service.
Starfish works with blockchain networks, such as Ocean Protocol, and common web services through agents, allowing unprecedented flexibility in asset discovery and data supply line management.
Starfish provides a common abstraction to enable decentralised data infrastructure to interoperate effectively, allowing data supply lines to be easily created and managed using standardised interface.
Any existing data resources can be "packaged" into a Data Asset, allowing data exchange possible with any data ecosystem participants.
There is no practical limit to the types of operations that can be created, and potentially recombined in interesting ways to create novel data solutions. Orchestration of such operations with Starfish is a perfect way to facilitate rapid innovation in data and AI solutions, especially where these solutions must orchestrate data and services.
Typically in Maven you can add squid-java as a dependency:
<!-- https://mvnrepository.com/artifact/sg.dex/starfish-java -->
<dependency>
<groupId>sg.dex</groupId>
<artifactId>starfish-java</artifactId>
<version>0.7.8</version>
</dependency>
Starfish-java requires Java 11 and Maven >= 3.0
You can configure the library using a Java Properties Object
If you are using Surfer for playing with the Starfish , you can refer the developer testcase (https://github.com/DEX-Company/starfish-java/tree/develop/src/test/java/sg/dex/starfish/integration/developerTC)
All the API documentation is hosted of javadoc.io:
Code Coverage:
You can run both, the unit and integration tests by using:
mvn clean install -P all-tests
You can execute the unit tests only using the following command:
mvn clean install
mvn test
You can execute the integration tests using the following command:
mvn clean verify -P integration-test
You can run the unit and integration tests running:
mvn clean install -P all-tests
[Developer Dex team][developer@dex.sg]
Copyright 2018 Ocean Protocol Foundation Ltd. Copyright 2018-2019 DEX Pte. Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.