Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help prevent connection leaks and adoption of antipatterns by querying repo directly #110

Merged
merged 10 commits into from
Oct 19, 2017
80 changes: 18 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,76 +2,32 @@

"For the hard graft of linked data processing."

Grafter is a library, DSL and suite of tools for flexible, efficient, ETL, data
transformation and processing. Its primary use is for handling Linked Data
conversions from tabular data formats into RDF's graph data format, but it is
equally adept at handling tabular data conversions.
Grafter is a [Clojure](http://clojure.org/) library for linked data
processing. It is mature and under active development.

See the official grafter website at [grafter.org](http://grafter.org/)
for more details.
It provides support for all common RDF serialisations and
includes a library of functions for querying and writing to SPARQL
repositories.

For the Grafter rationale see our blog post:
[The hard graft of Linked Data ETL](http://blog.swirrl.com/articles/linked-data-etl/).
## FAQ

## What plans are there for Grafter?
*Where can I find the api-docs?*

Grafter is currently in the early stages of development, however
[Swirrl](http://swirrl.com/) has been using it to transform
significant amounts of data for our clients within the government.
[api.grafter.org](http://api.grafter.org/)

Grafter is currently an API and a small DSL for converting tabular
data into Linked Data. However we have ambitious plans to develop a
suite of tools on top of it. These tools are planned to include:
*Didn't grafter also contain tools for tabular processing?*

1. Command line tools for data processing.
1. Import services to load pipelines and execute predefined data
transformations.
1. A Graphical ETL Tool to assist non-programmers in creating data
transformation pipelines.
As of 0.9.0 the `grafter.tabular` library has been moved into a
[separate repository](https://github.com/Swirrl/grafter.tabular) so
the core grafter library can focus on processing linked data.

## Development
This part of the library is now considered deprecated. If you depend
on it you can still use it, and it may receive occaisional
maintainance updates.

Grafter is deployed on the standard Clojure build repository
[Clojars](http://clojars.org/).

To use the Grafter API please add the following dependency to your Clojure
projects `project.clj` file. For more details on how to do this see
the [leiningen](http://leiningen.org/) build tool:

[![Clojars Project](https://img.shields.io/clojars/v/grafter.svg)](https://clojars.org/grafter)

**NOTE:** The public documentation, template projects and leiningen
plugin have not yet been updated to conform to the latest 0.8.x
versions of grafter. If you wish to use these please use the `0.7.6`
release.

## Versioning

We are currently following a `MAJOR.MINOR.PATCH` versioning scheme,
but are anticipating significant breaking API changes between minor
versions at least until we reach `1.0.0`.

`PATCH` versions should be backwardly compatible with previous `MINOR`
versions.

Releases will be tagged with an appropriate tag indicating their
`MAJOR.MINOR.PATCH` version.

We are currently producing API docs for the master branch and all
tagged releases.

- [API docs (master branch)](http://api.grafter.org/docs/master)
- [API docs (all releases)](http://api.grafter.org/)

Additionally [grafter.org](http://grafter.org/) contains a
[quick start guide](http://grafter.org/getting-started/index.html) and
supplementary documentation.

## Getting Started

There is a comprehensive
[getting started guide](http://grafter.org/getting-started/index.html) on the
project website.
If you're looking to start a greenfield project then you can easily
wire up any capable CSV/excel parser to the RDF processing side of
grafter.

## License

Expand Down
8 changes: 8 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

Copyright © 2014 Swirrl IT Ltd.

## Latest Releases

Release notes are no longer updated in this file, but are managed via
github. For information on the latest releases since 0.7.6 please
see:

https://github.com/Swirrl/grafter/releases

## 2016-08-31

`VERSION 0.7.6`
Expand Down
37 changes: 5 additions & 32 deletions project.clj
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(defproject grafter/grafter "0.8.12-SNAPSHOT"
:description "Tools for the hard graft of data processing"
(defproject grafter/grafter "0.10.0-SNAPSHOT"
:description "Tools for the hard graft of linked data processing"
:url "http://grafter.org/"
:license {:name "Eclipse Public License - v1.0"
:url "https://www.eclipse.org/legal/epl-v10.html"}
Expand All @@ -13,60 +13,33 @@
[grafter/vocabularies "0.2.0"]

[commons-logging "1.2"] ;; Shouldn't need this, but somehow excluded and required by SPARQLRepository
[commons-io/commons-io "2.4"]
[org.clojure/data.csv "0.1.3"]
[grafter/clj-excel "0.0.9" :exclusions [commons-codec]]
[me.raynes/fs "1.4.6"]
[potemkin "0.4.3"]
[incanter/incanter-core "1.5.7" :exclusions [net.sf.opencsv/opencsv commons-codec]]
[com.novemberain/pantomime "2.8.0"]] ;; mimetypes


:codox {:defaults {:doc "FIXME: write docs"
:doc/format :markdown}
:output-dir "api-docs"
:sources ["src/common" "src/rdf-repository" "src/tabular"
"src/templater" "src/rdf-common" "src/pipeline"
;; Include docs from grafter-url project too
:sources ["src" ;; Include docs from grafter-url project too
"../grafter-url/src"]

;; TODO change this when we merge back to master
:src-dir-uri "http://github.com/Swirrl/grafter/blob/0.8.x-SNAPSHOT/"
:src-linenum-anchor-prefix "L"}

:source-paths ["src/common" "src/rdf-repository" "src/tabular"
"src/templater" "src/rdf-common" "src/pipeline"]

;; Prevent Java process from appearing as a GUI app in OSX when
;; Swing classes are loaded.
:jvm-opts ["-Dapple.awt.UIElement=true"]

:pedantic? true

:repack [{:subpackage "rdf.common"
:dependents #{"templater"}
:path "src/rdf-common"}
{:subpackage "templater"
:path "src/templater"}
{:type :clojure
:path "src/pipeline"
:levels 2}
{:type :clojure
:path "src/rdf-repository"
:levels 2}
{:type :clojure
:path "src/tabular"
:levels 2}]

:profiles {:clj-19 { :dependencies [[org.clojure/clojure "1.9.0-alpha14"]] }

:dev {:plugins [[com.aphyr/prism "0.1.1"] ;; autotest support simply run: lein prism
[codox "0.8.10"]
[lein-repack "0.2.10" :exclusions [org.clojure/clojure
org.codehaus.plexus/plexus-utils]]]
:dev {:plugins [[codox "0.8.10"]]

:dependencies [[com.aphyr/prism "0.1.3"]
[org.slf4j/slf4j-simple "1.7.21"]
:dependencies [[org.slf4j/slf4j-simple "1.7.21"]
[prismatic/schema "1.1.3"]
[criterium "0.4.4"]]

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading