RDF
Resource Description Framework
Resource Description Framework (RDF) is a framework for describing a resource, but describing the resource in a way that allows you to integrate with (i.e., “link to”) related data across the Web.
RDF resource is a document/file whose contents consist of statements that describe a subject by its relationships and have the following form (also known as a triple):
<subject> <predicate> <object> .
where:
subject
is the thing being described and is a URL.predicate
is the descriptive property (e.g., name, height, size, etc.) of the thing and is a URL.object
is the property value and is either a URL or a literal.
The predicate describes the relationship between the subject and the object. That is,

Use of URLs
In RDF, the use of URLs allows for disambiguation of the terms:
URLs provide global uniqueness.
URLs can be looked up which can provide additional context (such as descriptions and additional information) and thereby may help reduce ambiguity.
For example, consider a Java class with a field named "title"
. The string literal "title"
may refer to a job title, an honorific (e.g., “Dr.”, etc.), a title of a book, etc. Determining which title definition applies depends on the context. The use of URLs can help address this ambiguity. For example:
http://schema.org/title
refers to a job title, andhttp://purl.org/dc/terms/title
refers to a title of some resource (like a book, a course, etc.)
Turtle
When expressing RDF triples in Turtle (Terse RDF Triple Language) format :
URLs are enclosed in angle brackets.
Triple statements end with a period (
.
).
For example, the following statements are examples of Turtle:
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/provider> "Example Restaurant" .
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/purchaseDate> "2023-03-07T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/provider> "Example Restaurant" ;
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/description> "Team Lunch";
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/category> "Travel and Entertainment" ;
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/priceCurrency> "USD" ;
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense> <https://schema.org/totalPrice> "120"^^<http://www.w3.org/2001/XMLSchema#decimal> .
In Turtle, for statements with the same subject, you can avoid repeating the subject by combining the statements with a semicolon (;
):
<https://storage.example.com/myRootContainer/expenses/20230306/teamLunchExpense>
<https://schema.org/purchaseDate> "2023-03-07T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
<https://schema.org/provider> "Example Restaurant" ;
<https://schema.org/description> "Team Lunch";
<https://schema.org/category> "Travel and Entertainment" ;
<https://schema.org/priceCurrency> "USD" ;
<https://schema.org/totalPrice> "120"^^<http://www.w3.org/2001/XMLSchema#decimal> .
For object values (can be a literal or a URL), you can append ^^<URL of the data type>
to the literal value to avoid ambiguity. For example, the following object value explicitly indicates that the value is a decimal and not a string or an integer literal.
"120"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Additional Information
For more information on RDF and Turtle, see:
Last updated