This package defines a set of APIs required to implement an RDF Graph and it's associated objects. The basis for this package structure comes from various sources including: the W3C RDF specifications and existing Java mappings including: Jena, Sesame and Sergey Melnik's RDF API.
An RDF Graph is made from RDF triples. Triples consist of a subject, predicate and object. Triples are made of nodes. Nodes can either be resources or literals. Resources can either be labelled with a URI, called URI references, or be blank.
To construct nodes you use a GraphElementFactory which allows you to create any of the nodes individually. You can then create Triples using the TripleFactory. Triples can then be added to the graph using the add method.
Indexation is an essential part of an efficient implementation and part of this package includes interfaces for implementing such implementations. Node and graph maintenance is also available. This design allows a separation between the implementation of the Graphs and of Node storage and handling.
Graph operations are also available to provide basic set based operations.