Skip to content
This repository was archived by the owner on Apr 16, 2025. It is now read-only.

Commit 361c034

Browse files
committed
Merge branch 'master' of https://github.com/usc-isi-i2/Web-Karma
2 parents 6d07fef + 3a08c2c commit 361c034

File tree

1 file changed

+62
-39
lines changed

1 file changed

+62
-39
lines changed

README.md

Lines changed: 62 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,125 @@
1-
Karma: A Data Integration Tool
2-
================================
1+
# Karma: A Data Integration Tool
32

43
![travis ci](https://travis-ci.org/usc-isi-i2/Web-Karma.svg?branch=master)
54

5+
---
6+
7+
### Feedback Request
8+
9+
We value your feedback!
10+
11+
We would greatly appreciate it if you could take a few minutes to provide us with your feedback on our application. Your input will help us improve and enhance the overall user experience.
12+
13+
Please click [here](https://forms.gle/jnHV9Lz3YHdssYgR7) to access the feedback form, and share your thoughts, suggestions, or report any issues you encountered.
14+
15+
Thank you for your support!
16+
17+
---
18+
619
The Karma tutorial at https://github.com/szeke/karma-tcdl-tutorial, also check out our [DIG web site](http://usc-isi-i2.github.io/dig/), where we use Karma extensively to process > 90M web pages.
720

821
See our [release stats](http://www.somsubhra.com/github-release-stats/?username=usc-isi-i2&repository=Web-Karma)
922

10-
1123
## What is Karma?
1224

1325
Karma is an information integration tool that enables users to quickly and easily integrate data from a variety of data sources including databases, spreadsheets, delimited text files, XML, JSON, KML and Web APIs. Users integrate information by modeling it according to an ontology of their choice using a graphical user interface that automates much of the process. Karma learns to recognize the mapping of data to ontology classes and then uses the ontology to propose a model that ties together these classes. Users then interact with the system to adjust the automatically generated model. During this process, users can transform the data as needed to normalize data expressed in different formats and to restructure it. Once the model is complete, users can published the integrated data as RDF or store it in a database.
1426

1527
You can find useful tutorials on the project Website: [http://www.isi.edu/integration/karma/](http://www.isi.edu/integration/karma/)
1628

17-
## Installation and Setup ##
29+
## Installation and Setup
1830

1931
Look in the Wiki [Installation](https://github.com/InformationIntegrationGroup/Web-Karma/wiki/Installation)
2032

21-
## Frequently Asked Questions ##
22-
### How to perform offline RDF generation for a data source using a published model? ###
33+
## Frequently Asked Questions
34+
35+
### How to perform offline RDF generation for a data source using a published model?
36+
2337
1. Model your source and publish it's model (the published models are located at `src/main/webapp/publish/R2RML/` inside the Karma directory).
2438
2. To generate RDF of a CSV/JSON/XML file, go to the top level Karma directory and run the following command from terminal:
39+
2540
```
2641
cd karma-offline
27-
mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="--sourcetype
42+
mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="--sourcetype
2843
<sourcetype> --filepath <filepath> --modelfilepath <modelfilepath> --sourcename <sourcename> --outputfile <outputfile> --JSONOutputFile<outputJSON-LD>" -Dexec.classpathScope=compile
2944
```
3045

31-
Valid argument values for sourcetype are: CSV, JSON, XML. Also, you need to escape the double quotes that go inside argument values. Example invocation for a JSON file:
32-
```
46+
Valid argument values for sourcetype are: CSV, JSON, XML. Also, you need to escape the double quotes that go inside argument values. Example invocation for a JSON file:
47+
48+
```
3349
mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="
34-
--sourcetype JSON
35-
--filepath \"/Users/shubhamgupta/Documents/wikipedia.json\"
50+
--sourcetype JSON
51+
--filepath \"/Users/shubhamgupta/Documents/wikipedia.json\"
3652
--modelfilepath \"/Users/shubhamgupta/Documents/model-wikipedia.n3\"
3753
--sourcename wikipedia
3854
--outputfile wikipedia-rdf.n3
3955
--JSONOutputFile wikipedia-rdf.json" -Dexec.classpathScope=compile
4056
```
57+
4158
3. To generate RDF of a database table, go to the top level Karma directory and run the following command from terminal:
59+
4260
```
4361
cd karma-offline
4462
mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="--sourcetype DB
45-
--modelfilepath <modelfilepath> --outputfile <outputfile> --dbtype <dbtype> --hostname <hostname>
63+
--modelfilepath <modelfilepath> --outputfile <outputfile> --dbtype <dbtype> --hostname <hostname>
4664
--username <username> --password <password> --portnumber <portnumber> --dbname <dbname> --tablename <tablename> --JSONOutputFile<outputJSON-LD>" -Dexec.classpathScope=compile
4765
```
48-
Valid argument values for `dbtype` are Oracle, MySQL, SQLServer, PostGIS, Sybase. Example invocation:
66+
67+
Valid argument values for `dbtype` are Oracle, MySQL, SQLServer, PostGIS, Sybase. Example invocation:
68+
4969
```
5070
mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="
51-
--sourcetype DB --dbtype SQLServer
52-
--hostname example.com --username root --password secret
53-
--portnumber 1433 --dbname Employees --tablename Person
71+
--sourcetype DB --dbtype SQLServer
72+
--hostname example.com --username root --password secret
73+
--portnumber 1433 --dbname Employees --tablename Person
5474
--modelfilepath \"/Users/shubhamgupta/Documents/db-r2rml-model.ttl\"
5575
--outputfile db-rdf.n3
5676
--JSONOutputFile db-rdf.json" -Dexec.classpathScope=compile
5777
```
5878

5979
You can do `mvn exec:java -Dexec.mainClass="edu.isi.karma.rdf.OfflineRdfGenerator" -Dexec.args="--help"` to get information about required arguments.
6080

61-
### How to set up password protection for accessing Karma? ###
81+
### How to set up password protection for accessing Karma?
82+
6283
- in /src/main/config/jettyrealm.properties change user/password (if you wish)
6384
- in /src/main/webapp/WEB-INF/web.xml uncomment security section at the end of the file
6485
- in pom.xml uncomment security section (search for loginServices)
6586

66-
### Are there additional steps required to import data from Oracle database? ###
87+
### Are there additional steps required to import data from Oracle database?
88+
6789
Yes. Due to Oracles binary license issues, we can't distribute the JAR file that is required for importing data from an Oracle database. Following are the steps to resolve the runtime error that you will get if you try to do it with the current source code:
6890

6991
1. Download the appropriate JDBC drive JAR file (for JDK 1.5 and above) that matches your Oracle DB version. Link: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
70-
2. Put the downloaded JAR file inside `lib` folder of the Karma source code.
71-
3. Add the following snippet in the `pom.xml` file (present inside the top level folder of Karma source code) inside the dependencies XML element:
92+
2. Put the downloaded JAR file inside `lib` folder of the Karma source code.
93+
3. Add the following snippet in the `pom.xml` file (present inside the top level folder of Karma source code) inside the dependencies XML element:
7294

7395
```
74-
<dependency>
75-
<groupId>com.oracle</groupId>
76-
<artifactId>ojdbc</artifactId>
77-
<version>14</version>
78-
<scope>system</scope>
79-
<systemPath>/Users/karma/Web-Karma/lib/ojdbc14.jar</systemPath>
80-
</dependency>
96+
<dependency>
97+
<groupId>com.oracle</groupId>
98+
<artifactId>ojdbc</artifactId>
99+
<version>14</version>
100+
<scope>system</scope>
101+
<systemPath>/Users/karma/Web-Karma/lib/ojdbc14.jar</systemPath>
102+
</dependency>
81103
```
104+
82105
Make sure that the filename mentioned in the `systemPath` element matches with your downloaded JAR file; it is likely that your installation folder is different from `/Users/karma` so make sure you use the correct one.
83106

84-
### Are there additional steps required to import data from MySQL database? ###
107+
### Are there additional steps required to import data from MySQL database?
108+
85109
Yes. Due to MySQL binary license issues, we can't distribute the JAR file that is required for importing data from an MySQL database. Following are the steps to resolve the runtime error that you will get if you try to do it with the current source code:
86110

87111
1. Download the appropriate MySQL driver JAR file (for JDK 1.5 and above) that matches your MySQL version. Link: http://dev.mysql.com/downloads/connector/j/
88-
2. Put the downloaded JAR file inside `lib` folder of the Karma source code.
89-
3. Add the following snippet in the `pom.xml` file of the `karma-jdbc` project inside the dependencies XML element:
112+
2. Put the downloaded JAR file inside `lib` folder of the Karma source code.
113+
3. Add the following snippet in the `pom.xml` file of the `karma-jdbc` project inside the dependencies XML element:
90114

91115
```
92-
<dependency>
93-
<groupId>mysql</groupId>
94-
<artifactId>mysql-connector-java</artifactId>
95-
<version>5.1.32</version>
96-
<scope>system</scope>
97-
<systemPath>/Users/karma/Web-Karma/lib/mysql-connector-java-5.1.32-bin.jar</systemPath>
98-
</dependency>
116+
<dependency>
117+
<groupId>mysql</groupId>
118+
<artifactId>mysql-connector-java</artifactId>
119+
<version>5.1.32</version>
120+
<scope>system</scope>
121+
<systemPath>/Users/karma/Web-Karma/lib/mysql-connector-java-5.1.32-bin.jar</systemPath>
122+
</dependency>
99123
```
100-
Make sure that the filename mentioned in the `systemPath` element matches with your downloaded JAR file; it is likely that your installation folder is different from `/Users/karma` so make sure you use the correct one. The `version` will be the version of the JAR that you downloaded.
101-
102124

125+
Make sure that the filename mentioned in the `systemPath` element matches with your downloaded JAR file; it is likely that your installation folder is different from `/Users/karma` so make sure you use the correct one. The `version` will be the version of the JAR that you downloaded.

0 commit comments

Comments
 (0)