Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
Repository
Spark-based OWL reasoner
Basic Info
- Host: GitHub
- Owner: benhid
- License: mit
- Language: Java
- Default Branch: main
- Homepage: http://benhid.com/nora/
- Size: 291 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 1
Topics
Metadata Files
README.md
NORA: Scalable OWL reasoner based on NoSQL databases and Apache Spark
Tested with OpenJDK 11 and Gradle 7.5.1.
Cite us:
Benítez-Hidalgo A, Navas-Delgado I, Roldán-García MM. NORA: Scalable OWL reasoner based on NoSQL databases and Apache Spark. Softw Pract Exper. 2023; 53(12): 2377–2392. doi: 10.1002/spe.3258
Building the project
Use gradle to build the project:
bash
$ make build
Getting started
Before running the project, edit the config.properties and set your own values. Make sure to set the NORA_CONFIG environment variable to the path of the config.properties file:
bash
$ export NORA_CONFIG=$(pwd)/config.properties
Load the ontology into the database:
bash
$ java -cp nora.jar loader.Loader examples/ontology.owl examples/individuals/ http://w3id.org/examples/ontology.owl
Then, start the reasoning process by running the following command:
bash
$ java -cp nora.jar reasoner.Reasoner
or by using spark-submit:
bash
$ spark-submit \
--name nora \
--class reasoner.Reasoner \
--master spark://host:port \
--driver-memory 6G \
--executor-memory 120G \
file:///home/user/nora.jar 10
A step-by-step guide is available here.
Troubleshooting
Exception java.lang.OutOfMemoryError: Java heap space when running Apache Spark in client mode
The flag -Xmx specifies the maximum memory allocation pool for a Java Virtual Machine (JVM), while -Xms specifies the initial memory allocation pool. These flags can be set to modify the Java memory settings:
- IntelliJ IDEA: Run/Debug configuration > Set VM options to
-Xms10g -Xmx80g - Terminal: Run Java with
-Xms10g -Xmx80g
Tests
Run the following command to run the tests:
console
$ make test
Embedded Cassandra requires JDK 11 or lower. If using a higher version, downgrade it to JDK 11.
License
This project is licensed under the MIT license - see the LICENSE file for details.
Owner
- Name: Antonio
- Login: benhid
- Kind: user
- Location: Málaga, Spain
- Company: University of Málaga
- Website: https://benhid.com/
- Repositories: 24
- Profile: https://github.com/benhid
Software / DevOps Engineer and Researcher @KhaosResearch
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it as below.
title: NORA
version: 1.0.0
date-released: '2023-06-16'
url: https://github.com/benhid/nora/
preferred-citation:
type: article
title: >-
NORA: Scalable OWL reasoner based on NoSQL databases and
Apache Spark
journal: >-
Software: Practice and Experience
issue: 12
volume: 53
year: 2023
authors:
- family-names: Antonio
given-names: Benítez-Hidalgo
- family-names: Ismael
given-names: Navas-Delgado
- family-names: María del Mar
given-names: Roldán-García
keywords:
- Apache Spark
- Knowledge base
- NoSQL
- OWL
- Reasoner
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 2.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- k00ni (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- com.datastax.oss:java-driver-core 4.14.0 implementation
- com.datastax.oss:java-driver-query-builder 4.14.1 implementation
- com.datastax.spark:spark-cassandra-connector_2.12 3.1.0 implementation
- com.github.galigator.openllet:openllet-owlapi 2.6.5 implementation
- net.sourceforge.owlapi:owlapi-distribution 5.1.20 implementation
- org.apache.logging.log4j:log4j-core 2.17.2 implementation
- org.apache.spark:spark-core_2.12 3.2.1 implementation
- org.apache.spark:spark-sql_2.12 3.2.1 implementation
- redis.clients:jedis 4.2.2 implementation
- com.github.nosan:embedded-cassandra 4.0.7 testImplementation
- org.junit.jupiter:junit-jupiter-api 5.8.2 testImplementation
- org.mockito:mockito-core 4.5.1 testImplementation
- org.mockito:mockito-junit-jupiter 4.5.1 testImplementation
- org.junit.jupiter:junit-jupiter-engine 5.8.2 testRuntimeOnly