RDF

The Resource Description Framework (RDF) is a language for representing information about resources that reside in and can be accessed via  the internet infrastructure. Each RDF resource has a unique ID that is based on standard Web identifiers called Uniform Resource Identifiers (URIs) (URIs are unique symbolic strings similar to URLs, but they don't have to resolve to actual locations.)

RDF has an XML syntax and many who are familiar with XML will think of RDF in terms of that syntax. This is not a correct understanding of RDF. RDF should be understood in terms of its data model. RDF data can be represented in XML, but understanding the syntax is secondary to understanding the data model. In fact, RDF can be represented in a number of other serialization syntaxes, such as JSON-LD and Turtle.

RDF statements are often called 'triples' because they consist of 3 entries: subject (rdf:subject), predicate (rdf:predicate) and object (rdf:object). Each entry is an RDF resource. Statements that contain resources with the same IDs are merged. For example, the following three triples can be brought together:

Resulting in the graph shown below.

RDF data should be thought of as a graph of nodes and arcs where nodes are subjects and objects and arcs are predicates. A triple statement itself can be given a resource ID using instances of the rdf:Statement class. This makes it possible in RDF to say things about statements. Creating statements about statements is called reification.

The predicate of one statement can be a subject or an object of another statement as shown in the graph below where livesIn, a predicate in one of the statements of the first graph (above), is a subject of the livesIn rdf:type owl:ObjectProperty statement in the second graph (below).

You can generate diagrams like these using the Graph Panel in the Composer's Resource Editor View.

The prefixes in front of resource IDs (for example, rdf: or owl:) shown in the graph represent namespaces. There exists a comprehensive (and somewhat arcane) set of syntax rules for using XML namespaces in RDF. TopBraid Composer implements these rules for you. The only thing you need to do as a user is to provide a namespace for each ontology. Additional information about naming conventions for Namespaces is available in Naming_Conventions_and_Namespaces.

While RDF includes an rdf:type property, the RDF data model does not provide a way to express custom schemas for RDF data - that is, there is no notion of classes or class definitions in RDF. Schemas are provided by the languages that build on and are layered on top of RDF - RDFS and OWL.

All built-in RDF language constructs are available for your use in Composer. These can be seen in the Classes View and the Properties View. Use the Classes View Preferences and the Properties View Preferences to configure which RDF elements should be visible.