% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.

\ProvidesFileRCS{pgfcorerdf.code.tex}



% 
%
% The Resource Description Framework (RDF) is a method of enriching
% output files with semantic information. In PGF, you can use the
% following commands to create RDF information that will be inserted
% into the output, provided the output format allows this (SVG
% does). You call any of these commands before an ID-scope and it will
% attach the attribute(s) to this id scope.
%
%
% Example:
%
% ...
% \pgfrdftypeof{http://purl.org/dc/dcmitype/Image}
% \pgfrdfresource{/paper/figures/1}
% \pgfidscope
%   % This ID scope will be flagged as the resource "/paper/figures/1"
%   % and typeof "Image" from the Dublin Core.
%   ...
% \endidscope





% Adds the rdf attribute "about" with value #1 to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "a SafeCURIEorCURIEorIRI, used for stating what
% the data is about (a 'subject' in RDF terminology);" 

\def\pgfrdfabout#1{\pgfsys@rdf@about{#1}}



% Adds the rdf attribute content with value #1 to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "a CDATA string, for supplying machine-readable
% content for a literal (a 'literal object', in RDF terminology);"  

\def\pgfrdfcontent#1{\pgfsys@rdf@content{#1}}



% Adds the rdf attribute datatype with value #1 to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "a TERMorCURIEorAbsIRI representing a datatype,
% to express the datatype of a literal;" 

\def\pgfrdfdatatype#1{\pgfsys@rdf@datatype{#1}}



% Adds the rdf attribute href with value #1 to the next idscope
% The RDF-spec says: "a traditionally navigable IRI for
% expressing the partner resource of a relationship (a 'resource object', in RDF terminology);" 

\def\pgfrdfhref#1{\pgfsys@rdf@href{#1}}



% Adds the rdf attribute inlist to the next idscope.
%
% Description:
%
% The RDF-spec says: "An attribute used to indicate that the object
% associated with a rel or property attribute on the same element is
% to be added to the list for that predicate. Presence of this
% attribute causes a list to be created if it does not already exist."   

\def\pgfrdfinlist{\pgfsys@rdf@inlist}




% Adds #1 to the list of the rdf prefix attribute to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% Can be called several times, in which case all values of #1 are
% concatenated with whitespaces. The RDF-spec says: "a white space
% separated list of prefix-name IRI pairs of the form NCName ':' ' '+
% xsd:anyURI"  

\def\pgfrdfprefix#1{\pgfsys@rdf@prefix{#1}}




% Adds #1 to the list of the rdf property attribute to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% Can be called repeatedly. The RDF-spec says: "a white space
% separated list of TERMorCURIEorAbsIRIs, used for expressing
% relationships between a subject and either a resource object if
% given or some literal text (also a 'predicate');"  

\def\pgfrdfproperty#1{\pgfsys@rdf@property{#1}}



% Adds #1 to the list of the rdf rel attribute to the next
% next idscope.
%
% #1 = A URL
%
% Description:
%
% Can be called repeatedly. The RDF-spec says: "a white space
% separated list of TERMorCURIEorAbsIRIs, used for expressing
% relationships between two resources ('predicates' in RDF
% terminology);" 

\def\pgfrdfrel#1{\pgfsys@rdf@rel{#1}}


% Adds the rdf attribute resource with value #1 to the next idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "a SafeCURIEorCURIEorIRI for expressing the
% partner resource of a relationship that is not intended to be
% navigable (e.g., a 'clickable' link) (also an 'object');"  

\def\pgfrdfresource#1{\pgfsys@rdf@resource{#1}}




% Adds #1 to the list of the rdf rev attribute to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% Can be called repeatedly. The RDF-spec says: "a white space
% separated list of TERMorCURIEorAbsIRIs, used for expressing reverse
% relationships between two resources (also 'predicates');

\def\pgfrdfrev#1{\pgfsys@rdf@rev{#1}}




% Adds an rdf attribute src with value #1 to the next idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "an IRI for expressing the partner resource of a
% relationship when the resource is embedded (also a 'resource object');" 

\def\pgfrdfsrc#1{\pgfsys@rdf@src{#1}}




% Adds #1 to the list of the rdf typeof attribute to the next
% idscope.
%
% #1 = A URL
%
% Description:
%
% Can be called repeatedly. The RDF-spec says: "a white space
% separated list of TERMorCURIEorAbsIRIs that indicate the RDF type(s)
% to associate with a subject;" 

\def\pgfrdftypeof#1{\pgfsys@rdf@typeof{#1}}




% Adds an rdf attribute vocab with value #1 to the next idscope.
%
% #1 = A URL
%
% Description:
%
% The RDF-spec says: "an IRI that defines the mapping to use when a
% TERM is referenced in an attribute value. See General Use of Terms
% in Attributes and the section on Vocabulary Expansion."  

\def\pgfrdfvocab#1{\pgfsys@rdf@vocab{#1}}





\endinput