Pellet

Pellet is an open source java OWL reasoner providing standard and cutting-edge reasoning services for OWL and OWL 2 ontologies.

It integrates with Jena ( http://jena.sourceforge.net/ ) and provides the Pellet Reasoner Plug-in for Protégé 4 http://clarkparsia.com/pellet/protege.

Tutorials

Pellet with Jena, Joseki, SDB and TDB

Configuring Joseki + Pellet + TDB describes how to set up a SPARQL endpoint that can process standard SPARQL queries and return results that include inferences provided by a server-side Pellet reasoner.

Fernando Meyer also presents a configuration for TDB in his article Configuring Joseki + Pellet + TDB.

Listing Root and Derived Concepts

Example given by "Brandon Ibach" July 12, 2009 on pellet-users@lists.owldl.com

If, by Root-Concept, you mean a class that is a subclass only of itself and owl:Thing and, similarly, a Derived-Concept is a class that is a subclass of a class other than itself and owl:Thing, then you might try a SPARQL query such as the following, which can be executed
at the command line with something like:

pellet query -q this-query.spq your-ontology.owl

where this-query.spq contains:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT ?class
WHERE { ?class rdfs:subClassOf owl:Thing .
FILTER ( ?class != owl:Thing && ?class != owl:Nothing ) .
OPTIONAL { ?class rdfs:subClassOf ?super .
FILTER ( ?super != owl:Thing && ?super != ?class ) } .
FILTER ( !bound(?super) ) }

This will list Root-Concepts. To get Derived-Concepts, remove the "!" from the last line.

Terp: Syntactic Sugar for SPARQL and OWL

Pellet introduces the Terp syntax for SPARQL queries of OWL data. Terp is a mix of Turtle and Manchester Syntax, making the queries easier, more comprehensible, and more concise.

For example the following SPARQL query, find all people who work for an organization:

SELECT ?person
WHERE {?person a [owl:intersectionOf (:Person
[owl:onProperty :worksFor ;
owl:someValuesFrom :Organization])]. }

in Terp becomes:

SELECT ?person
WHERE {?person a (:Person and (:worksFor some :Organization)).}

Maven Repository

The maven repositoryincludes binary and source JAR as well as dependencies.

<repository>
<id>on.cs.unibas.ch</id>
<name>DBIS Maven Releases Repository</name>
<url>http://on.cs.unibas.ch/maven/repository</url>
</repository>

<dependency>
<groupId>com.owldl</groupId>
<artifactId>pellet</artifactId>
<version>2.2.0</version>
</dependency>