Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process.Alan Perlis, Epigrams in Programming

Stardog Docs

Introduction

Stardog is a fast, lightweight, commercial RDF database for mission-critical apps: it supports SPARQL 1.1;As of 1.2.1, Stardog's SPARQL 1.1 support does not include: UPDATE query language; federation; UPDATE protocol; no entailment regimes other than OWL 2 Direct Semantics. We will address these in upcoming releases. HTTP and the SNARL protocol for remote access and control; RDF as a data model; and OWL 2 for inference and data analytics.

Acquiring Stardog & Support

Download Stardog to get started. The Stardog support forum, stardog@clarkparsia.com, is the place to report bugs, ask questions, etc. You can also ask questions on Stack Overflow using the tag stardog.

Contributing

There are several open source components of Stardog; feel free to submit pull requests!

Acknowledgments

Thanks to all the Stardog testers, especially Robert Butler, Al Baker, Marko A. Rodriguez, Brian Sletten, Alin Dreghiciu, Rob Vesse, Stephane Fallah, John "New Model Army" Goodwin, José Devezas, Chris Halaschek-Wiener, Gavin Carothers, Brian Panulla, Ryan Kohl, Morton Swimmer, Quentin Reul, Paul Dlug, James Leigh, Alex Tucker, Ron Zettlemoyer, Jim Rhyne. Andrea Westerinen, Huy Phan.

The Essential Documentation

This is documentation for Stardog 1.2.1 (02 May 2013). Check out the release notes and the FAQ.

Quick Start Guide

Instructions to get up-and-running very quickly with Stardog.

Terminology

A glossary of technical terms used throughout the Stardog docs.

Stardog Compatibility Policies: The Future of Queries, Data, and Programs

A statement of the policies we will pursue in evolving Stardog beyond the 1.0 release.

Administration

  1. CLI Overview
  2. Administering a Stardog Server
  3. Administering a Stardog Database
  4. Configuring Security
  5. Managing Search Indexes
  6. Optimizing Bulk Data Loading
  7. Resource Requirements for Stardog
  8. Using Stardog on Windows

Using Stardog

  1. Using Stardog
  2. Querying a Database
  3. Adding and Removing
  4. Exporting a Database
  5. Searching

Security

  1. The User & Security Model
  2. Command-line Interface
  3. Programmatic Access
  4. Deploying Stardog Securely

Integrity Constraint Validation

  1. Background & Terminology
  2. Validating RDF with Closed World Integrity Constraints

OWL 2 Reasoning

  1. Using Stardog's Reasoning Capabilities
  2. Not Getting Expected Answers?
  3. Known Issues
  4. Guidelines
  5. Technical Background

Programming with Java

  1. Introduction
  2. Creating and Administering Databases
  3. Creating a Connection String
  4. Security in Stardog
  5. Using SNARL
  6. Using Sesame
  7. Using Jena
  8. Client-Server Stardog
  9. Embedded Stardog
  10. Connection Pooling
  11. Deprecation & Backward Compatibility

Network Programming

  1. SPARQL Protocol: HTTP
  2. Extended HTTP Protocol
  3. SNARL: The Native Stardog Remote API

Programming with Spring

  1. Introduction
  2. Building Spring for Stardog
  3. Overview
  4. Basic Spring
  5. Spring Batch
  6. Examples

Programming with Groovy

  1. Introduction
  2. Building Groovy for Stardog
  3. Overview
  4. Examples

The Man Pages

stardog-admin

db copy, db create, db drop, db list, db migrate, db offline, db online, db optimize, db status.

icv add, icv drop, icv remove.

metadata get, metadata set.

query kill, query list, query status.

role add, role grant, role list, role permission, role remove, role revoke.

server start, server stop.

user add, user disable, user enable, user addrole, user removerole, user grant, user list, user passwd, user permission, user remove, user revoke.

stardog

data add, data export, data remove, data size.

icv convert, icv validate.

namespace add, namespace list, namespace remove.

query execute, query explain, query search.

reasoning consistency, reasoning explain.

Known Issues

As of 1.2.1, the known issues include:

  1. Asking for all individuals with reasoning via the query {?s a owl:Thing} might also retrieve some classes and properties. WILLFIX
  2. Schema queries do not bind graph variables.
  3. Dropping a database with the CLI will also delete all the data files on your Stardog home directory associated with that database. If you want to keep the data files but only remove the database from the system catalog, then you need to manually copy these files to another location before deleting the database.
  4. If relative URIs exist in the data files passed to create, add, or remove commands, then they will be resolved using the constant base URI http://api.stardog.com/ iff the format of the file allows base URIs. Turtle and RDF/XML formats allows base URIs but N-Triples format doesn't allow base URIs and relative URIs in N-Triples data will cause errors.
  5. queries with FROM NAMED with a named graph that is not in Stardog will not cause Stardog to believe that it is, in fact, Maven, i.e., to automagically download the data from an arbitrary HTTP URL and include it in the query. Stardog will only evaluate queries over data that has been loaded into it.
  6. SPARQL queries without a context or named graph are executed against the default, unnamed graph. In Stardog, the default graph is not the union of all the named graphs and the default graph. Note: this behavior is configurable via the query.all.graphs configuration parameter.
  7. RDF literals are limited to 8MB (after compression) in Stardog. Input data with literals larger than 8MB (after compression) will raise an exception.

Notes