The Resource Description Framework (RDF) is a system for making and encoding precise assertions about items in the world. It is a general purpose metadata system with an open specification. RDF uses the term "resource" for an item and uses Uniform Resource Identifiers (URIs) to identify resources. The core RDF model uses triples to make assertions about resources. Each triple consists of a subject, a predicate, and an object. The predicate relates the object to the subject. In an RDF statement, the subject and predicate are both resources and the object can be either a resource or some literal value such as a string or a number. A set of RDF statements form a directed, typed graph. In an RDF graph, the predicate forms the typed edge from the subject to the object; the subject and object become nodes in the graph.
In this way, consumers of a set of RDF statements can reason about the data in the same way as searching a graph. The meaning, or semantics, of a given property is typically defined by the creator of the property and is enforced by software layered on top of the basic graph concept.
Rej (RDF editor in Java) is a graphical application for directly creating new RDF statements. The Rej user interface is divided into four panes: a top pane and three bottom panes. “The Rej window” shows this layout. The top pane displays the currently marked resource (if any). Of the bottom panes, the left pane shows all the resources that have been identified, the middle pane displays all the statements for the resource under inspection, and the right pane shows all the properties that have been identified.
When displaying individual resources, a label for each resource is displayed in bold above the resource if such a label is available[1]. The label provides a quick visual cue for recognizing resources, although resources' full URIs are required for unambiguously identifying these resources.
When displaying statements in the detail pane, each statement is displayed in three lines for the subject, predicate, and object of the statement, respectively. When available, a component's label is displayed instead of its URI; in these cases, the label is displayed using a bold font weight. The detail pane always provides a tooltip for each statement that displays the precise details of each statement. Statements made about the resource under inspection (outgoing edges of the graph) have a dark stripe on their left for easy classification; statements that use the inspected resource as their object (incoming edges of the graph) have a dark stripe on their right.
Rej allows a user to browse and edit statements in a target graph, but users can also view statements from other graphs in order to provide context for the graph being edited. The graph being edited is called the working graph and the remainder of the statements (that will not be included in the output) form the context graph. In the Details pane, statements contained in the working graph are highlighted in blue; the remaining statements are shown in black. Rej starts up with no working graph and with a context graph constructed by combining the RDFS and Dublin Core schemata. To create a new, empty working graph, choose File → New. To open a working graph from a file, choose File → Open.... To add statements to the current working graph from another graph, choose File → Import.... To add statements to the current context graph, choose File → Load context.... Use File → Save and File → Save As... to save the current working graph to a file. Rej currently supports input and output using the RDF/XML serialization format.
As a user browses the RDF graph in Rej, if there is a resource that she wants to annotate, she can mark that resource by choosing Edit → Mark. Marking a resource simply remembers that resource for further annotation until another resource is marked. As mentioned before, the top pane in the Rej display shows the currently marked resource.
To make a statement with the currently marked resource as the subject, select a property for the statement from the Properties pane, inspect (double-click on) the resource that will be the object of the statement, then choose Edit → Make statement. To use a new literal or a manually identified resource as the object of the statement instead, choose Edit → Make statement with new object.... To manually identify a new resource, choose Edit → New resource.... When multiple resources are selected from the Resources pane, a user can make a set of statements with subjects that correspond to the selected resources, each using the currently selected property and the marked resource as their object, by choosing Edit → Multiple statements. Similarly, a user can make a set of statements based on the selected resources but with a new literal or a manually identified resource as their object by choosing Edit → Multiple statements with new object....
To delete a statement from the working graph, select the statement from the Details pane and choose Edit → Delete selected statement.
By default, the Resources pane shows all the resources that are currently exposed by the current visible graph, which can be hard to sift through to find a particular resource of interest. To search through these resources and only display matching resources, choose Tools → Search to show the Limit Displayed Resources dialog. Input a word or phrase into this dialog and choose OK to narrow the list of resources to those resources whose label or URI value matches the search value. If you leave this value empty, then all the resources will be shown.
[1] | Currently, labels are obtained using the RDFS "label" property or the Dublin Core "title" property. |