Rulewerk Parser

A Java library for working with the VLog rule engine

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

org.semanticweb.vlog4j
ArtifactId

ArtifactId

vlog4j-parser
Last Version

Last Version

0.6.0
Release Date

Release Date

Type

Type

pom
Description

Description

Rulewerk Parser
A Java library for working with the VLog rule engine
Project Organization

Project Organization

Rulewerk Developers

Download vlog4j-parser

How to add to project

<!-- https://jarcasting.com/artifacts/org.semanticweb.vlog4j/vlog4j-parser/ -->
<dependency>
    <groupId>org.semanticweb.vlog4j</groupId>
    <artifactId>vlog4j-parser</artifactId>
    <version>0.6.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.semanticweb.vlog4j/vlog4j-parser/
implementation 'org.semanticweb.vlog4j:vlog4j-parser:0.6.0'
// https://jarcasting.com/artifacts/org.semanticweb.vlog4j/vlog4j-parser/
implementation ("org.semanticweb.vlog4j:vlog4j-parser:0.6.0")
'org.semanticweb.vlog4j:vlog4j-parser:pom:0.6.0'
<dependency org="org.semanticweb.vlog4j" name="vlog4j-parser" rev="0.6.0">
  <artifact name="vlog4j-parser" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.semanticweb.vlog4j', module='vlog4j-parser', version='0.6.0')
)
libraryDependencies += "org.semanticweb.vlog4j" % "vlog4j-parser" % "0.6.0"
[org.semanticweb.vlog4j/vlog4j-parser "0.6.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Rulewerk

Build Status Coverage Status Maven Central

A Java library based on the VLog rule engine

Installation

The current release of Rulewerk is version 0.7.0. The easiest way of using the library is with Maven. Maven users must add the following dependency to the dependencies in their pom.xml file:

<dependency>
	<groupId>org.semanticweb.rulewerk</groupId>
	<artifactId>rulewerk-core</artifactId>
	<version>0.7.0</version>
</dependency>

Previous to version 0.6.0, rulewerk project name was vlog4j. Older versions released under name vlog4j have <groupId>org.semanticweb.vlog4j</groupId> and <artifactId>vlog4j-core</artifactId>, the latest version being version 0.5.0.

You need to use Java 1.8 or above. Available source modules include:

  • rulewerk-core: essential data models for rules and facts, and essential reasoner functionality
  • rulewerk-parser: support for processing knowledge bases in Rulewerk syntax
  • rulewerk-graal: support for converting rules, facts and queries from Graal API objects and DLGP files
  • rulewerk-rdf: support for reading from RDF files in Java (not required for loading RDF directly during reasoning)
  • rulewerk-owlapi: support for converting rules from OWL ontology, loaded with the OWL API
  • rulewerk-client: stand-alone application that builds a command-line client for Rulewerk.
  • rulewerk-commands: support for running commands, as done by the client
  • rulewerk-vlog: support for using VLog as a reasoning backend for Rulewerk.

The released rulewerk-vlog packages use vlog-java, which packages system-dependent VLog binaries for Linux, macOS, and Windows, and should work out of the box with current versions of these systems (for Linux, you will need at least libstdc++-v3.4.22; for macOS, you will need at least macOS 10.14). In case of problems, or if you are using the current development version, own binaries can be compiled as follows:

  • (Optional) It is recommended to increase the version of vlog-java (in rulewerk-vlog/pom.xml) before executing the next steps.
  • Delete (if existing) previous local builds (local_builds directory).
  • Run build-vlog-library.sh or execute the commands in this file manually. This will compile a local jar file on your system, copy it to rulewerk-vlog/lib/jvlog-local.jar, and install the new jar in your local Maven repository in place of the distributed version of vlog-java.
  • Run mvn install to test if the setup works.

Documentation

  • The module rulewerk-examples includes short example programs that demonstrate various features and use cases
  • The GitHub project Rulewerk Example shows how to use Rulewerk in own Maven projects and can be used as a skeleton for own projects
  • JavaDoc is available online and through the Maven packages.
  • A Rulewerk Wiki is available online, with detailed information about rulewerk usage, the supported rule language examples and grammar, and related publications.

Development

  • Pull requests are welcome.

  • We largely follow Java Programming Style Guidelines published by Petroware. The main exception are the names of private members, which do not usually end in underscores in our code.

  • The master branch may require a development version of VLog. Use the script build-vlog-library.sh as shown here to create and install it on your machine. This will compile and install vlog-javadependency with the current code of VLog master branch.

  • Users of Eclipse should install the JavaCC Eclipse Plug-in to generate the parser sources. After installing the plugin, right-click on the file JavaCCParser.jj in org.semanticweb.rulewerk.parser.javacc, and select "compile with javacc". This step needs to be repeated when the file changes.

  • To build the standalone client jar, run mvn install -Pclient. This generates standalone-rulewerk-client-[VERSION].jar in rulewerk-client/target.

  • The CI setup is documented here.

org.semanticweb.vlog4j

Knowledge-Based Systems

Projects affiliated with the KBS research group at TU Dresden (note: hosting content here does not establish any formal or legal relation to TU Dresden)

Versions

Version
0.6.0
0.5.0
0.4.0