You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Metafacture is a toolkit for processing semi-structured data with a focus on library metadata. It provides a versatile set of tools for reading, writing and transforming data. Metafacture can be used as a stand-alone application or as a java library in other applications. The name Metafacture is a portmanteau of the words *meta* data and manu*facture*.
3
+
Metafacture is a toolkit for processing semi-structured data with a focus on library metadata. It provides a versatile set of tools for reading, writing and transforming data. Metafacture can be used as a stand-alone application or as a Java library in other applications. The name Metafacture is a portmanteau of the words *meta* data and manu*facture*.
4
4
5
-
Metafacture consists of a core library and a number of plugin packages and satellite projects which build on the core library and extend it with additional tools and features. This page describes the core package. Have a look at the [Plugins and Tools page](https://github.com/culturegraph/metafacture-core/wiki/Plugins-and-Tools) on the wiki for an overview of the supplementary packages and projects.
5
+
Metafacture includes a large number of modules for operating on semi-structured data. These modules can be combined to build pipelines to perform complex metadata processing tasks. The pipelines can be constructed either in Java code or with the domain-specific language **Flux**. One of the core features of Metafacture is the **Metamorph** module. Metamorph is an xml-based language for specifying transformations of semi-structured data. It can be seamlessly integrated into Java code.
6
6
7
-
Originally, Metafacture was developed as part of the [Culturegraph](http://culturegraph.org) platform but its now used by others, too: [see who uses Metafacture](https://github.com/culturegraph/metafacture-core/wiki/Who-uses-Metafacture).
7
+
At its heart Metafacture is a framework for implementing modules for metadata processing. This makes Metafacture easily extendable with additional modules. The [plugins and tools page](https://github.com/culturegraph/metafacture-core/wiki/Plugins-and-Tools) on the wiki shows supplementary packages and projects which extend Metafacture.
8
+
9
+
Originally, Metafacture was developed as part of the [Culturegraph](http://culturegraph.org) platform but it is developed independently now and used by others, too: [see who uses Metafacture](https://github.com/culturegraph/metafacture-core/wiki/Who-uses-Metafacture).
8
10
9
11
# Getting started
10
12
11
-
You can use Metafacture either as a stand-alone application or as a Java library in your own projects.
13
+
You can either use Metafacture as a stand-alone application or include it as a Java library in your own projects.
12
14
13
15
## Metafacture as a stand-alone application
14
16
15
17
If you are only interested in running Flux scripts without doing any Java programming this is the way to go. The instructions assume that you are using a *nix-like shell.
16
18
17
-
1. Download the latest distribution package from the [metafacture-core/releases](https://github.com/culturegraph/metafacture-core/releases) page. Make sure that you do download a distribution package and _not_ a source code package.
19
+
1. Download the latest distribution package from the [metafacture-core/releases](https://github.com/culturegraph/metafacture-core/releases) page. Make sure that you do download a distribution package and _not_ a source code package (the file name should include *-dist*).
18
20
19
21
2. Extract the downloaded archive:
20
22
```bash
21
-
$ tar xzf metafacture-runner-VERSION-dist.tar.gz
23
+
$ tar xzf metafacture-core-VERSION-dist.tar.gz
22
24
```
23
25
This will create a new directory containing a ready-to-use metafacture distribution.
24
26
3. Change into the newly created directory:
25
27
```bash
26
-
$ cd metafacture-runner-VERSION
28
+
$ cd metafacture-core-VERSION
27
29
```
28
30
4. Run one of the example scripts:
29
31
```bash
@@ -36,21 +38,30 @@ The _examples_ folder contains many more examples which provide a good starting
36
38
37
39
## Using Metafacture as a Java libary
38
40
39
-
If you want use Metafacture in your own Java projects all you need to do is to include the metafacture-core package as a dependency in your project. metafacture-core is available from [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.culturegraph%22). To use it, add the following dependency declaration to your `pom.xml`:
41
+
If you want use Metafacture in your own Java projects all you need to add some dependencies to your project. As of Metafacture 5 the single metafacture-core package has been replaced with a number of domain-specific packages. You can find the list of packages on [Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.metafacture%22).
40
42
41
-
<dependency>
42
-
<groupId>org.culturegraph</groupId>
43
-
<artifactId>metafacture-core</artifactId>
44
-
<version>4.0.0</version>
45
-
</dependency>
43
+
Alternatively, you can simply guess the package names from the top-level folders in the source code repository -- they are the same. For instance, if you want to use Metamorph in your project, simply add the following dependency to your `pom.xml`:
46
44
47
-
Our integration server automatically publishes successful builds of the master branch as snapshot versions on [Sonatype OSS Repository](https://oss.sonatype.org/index.html#nexus-search;quick~culturegraph).
Our integration server automatically publishes successful builds of all branches as snapshot versions on [Sonatype OSS Repository](https://oss.sonatype.org/index.html#nexus-search;quick~culturegraph). The version number is derived from the branch name. Snapshot builds from the master branch always have the version "master-SNAPSHOT".
0 commit comments