The cl-rdfxml Reference Manual

This is the cl-rdfxml Reference Manual, version 0.9, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:36:52 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-rdfxml

The CL-RDFXML system provides functionality for processing RDF/XML serializations of RDF graphs. RDF/XML processes XML using Closure XML (CXML), and handles URIs using PURI.

Author

Joshua Taylor

Version

0.9

Dependencies
  • cxml (system).
  • puri (system).
Source

cl-rdfxml.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cl-rdfxml/cl-rdfxml.asd

Source

cl-rdfxml.asd.

Parent Component

cl-rdfxml (system).

ASDF Systems

cl-rdfxml.


3.1.2 cl-rdfxml/package.lisp

Source

cl-rdfxml.asd.

Parent Component

cl-rdfxml (system).

Packages

cl-rdfxml.


3.1.3 cl-rdfxml/utilities.lisp

Dependency

package.lisp (file).

Source

cl-rdfxml.asd.

Parent Component

cl-rdfxml (system).

Internals

3.1.4 cl-rdfxml/constants.lisp

Dependencies
Source

cl-rdfxml.asd.

Parent Component

cl-rdfxml (system).

Public Interface
Internals

3.1.5 cl-rdfxml/rdfxml.lisp

Dependencies
Source

cl-rdfxml.asd.

Parent Component

cl-rdfxml (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cl-rdfxml

The cl-rdfxml package provides functionality for processing RDF/XML representations of RDF graphs. RDF/XML processes XML using Closure XML (CXML) and handles URIs using PURI.

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *coerce-datatyped-empty-properties*

A boolean (whose default value is false) that controls whether an empty property element that contains a datatype attribute (a case which is prohibited by the RDF/XML Syntax Specification) is coerced to a typed literal with the specified datatype and the empty string "" as a lexical form. Also see the condition type datatyped-empty-property and the keyword argument coerce-datatyped-empty-properties to the function parse-document.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *parse-uris-strictly*

A boolean (whose default value is true) that controls whether URIs are parsed strictly. This determines whether, within parse-document, a handler is established for conditions of type puri:uri-parse-error which will attempt to parse malformed URIs in a non-strict way. Also see the restart function parse-uri-non-strictly, and the parse-uris-strictly keyword argument to parse-document.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *warn-on-non-namespaced-names*

A boolean (whose default value is true) that controls whether a warning is signalled when a permitted non-namespaced attribute is encountered. The only attributes which may appear without namespaces are ID, about, resource, parseType, and type. New documents should not use unqualified forms, though they may appear in legacy documents. See Section 6.1.4 of the RDF/XML Syntax Specification.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *warn-on-parse-type-other*

A boolean (whose default value is false) that controls whether a warning is signalled when an element is encountered that specifies the rdf:parseType attribute with a value other than "Literal", "Resource", or "Collection". Such an element is treated as though the value were "Literal", and this situation is not an error. Nonetheless, it seems likely that one might be interested in knowing when it occurs.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *warn-on-rdf-prefixed-non-rdf-names*

According to to Section 5.1, The RDF Namespace and Vocabulary of the RDF/XML Syntax Specification, warnings SHOULD be generated when a name is encountered that begins with the RDF namespace name, but is not an RDF name. If *warn-on-rdf-prefixed-non-rdf-names* is true (the default), then such warnings are generated, but are muffled otherwise.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: +rdf-about+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-about-each+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-about-each-prefix+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-alt+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-bag+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-bag-id+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-datatype+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-description+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-first+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-id+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-li+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-list+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-namespace+

The string prefix of RDF terms: http://www.w3.org/1999/02/22-rdf-syntax-ns# .

Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-nil+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-node-id+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-object+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-parse-type+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-predicate+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-property+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-rdf+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-resource+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-rest+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-seq+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-statement+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-subject+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-type+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-value+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdf-xml-literal+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-class+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-comment+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-container+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-container-membership-property+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-datatype+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-domain+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-is-defined-by+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-label+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-literal+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-member+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-namespace+

The string prefix of RDFS terms: http://www.w3.org/2000/01/rdf-schema#

Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-range+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-resource+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-see-also+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-subclass-of+
Package

cl-rdfxml.

Source

constants.lisp.

Special Variable: +rdfs-subproperty-of+
Package

cl-rdfxml.

Source

constants.lisp.


5.1.2 Ordinary functions

Function: blank-node (&optional id namespace)

blank-node [id [namespace]] => blank-node
id—a string
namespace—an equal hash-table
Blank-node returns a blank node. If id is specified, then if there is already a blank node in namespace whose id is equal to id, then that blank node is returned. Otherwise, a new blank node is created, inserted into namespace, and returned. If id is not specified, then a new blank node is returned, and namespace is not modified.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: ignore-attribute (&optional condition)

ignore-attribute [condition] => |
condition—a condition
Ignore-attribute attempts to invoke the restart named ignore-attribute. This is intended for use when an attribute appears in a place where it is prohibited, but parsing would continue successfully if the attribute had not been specified.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: ignore-attributes (&optional condition)

ignore-attributes [condition] => |
condition—a condition
Ignore-attributes attempts to invoke the restart named ignore-attributes. This is intended for use when duplicate attributes are provided and all can be ignored, or when mutually exclusive attributes appear, and all can be ignored.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: ignore-characters (&optional condition)

ignore-characters [condition] => |
condition—a condition
Ignore-characters attempts to invoke the restart named ignore-characters. This is intended for use when character data appears in a place that should have been whitespace.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: ignore-language (&optional condition)

ignore-language [condition] => |
condition—a condition
Ignore-language treats a xml:lang attribute whose value was not a language tag conforming to RFC 3066 as though the attribute had not been specified. This occurs by invoking the restart ignore-language.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: intern-plain-literal (string &optional language)

intern-plain-literal string [language] => plain-literal
string, language—strings
plain-literal—a plain literal
Intern-plain-literal returns a literal with the specified string and language. Calls to intern-plain-literal with strings that are equal and languages that are equal return the same literal object.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: intern-typed-literal (string datatype)

intern-plain-literal string datatype => typed-literal
string—a string
datatype—a URI designator
typed-literal—a typed literal
intern-typed-literal returns a literal with the specified string and datatype. Calls to intern-plain-literal with strings that are equal and designators for the same URI return the same literal object.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-as-typed-literal (&optional condition)

parsed-as-typed-literal [condition] => |
condition—a condition
parse-as-typed-literal attempts to parse an empty-property-element as typed literal. This is intended to be used when an rdf:datatype attribute is present on an empty property element. Strictly speaking, this is prohibited by the RDF/XML specification (see errata), but some RDF/XML parses output it anyway.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-document (function input &key coerce-datatyped-empty-properties parse-uris-strictly warn-on-rdf-prefixed-non-rdf-names warn-on-non-namespaced-names warn-on-parse-type-other)

parse-document function input => |
function—a function of three arguments
input—an input suitable for cxml:make-source
Parse-document parses input, binds *triple-receiver* to function, and calls emit-triple with each triple that can be extracted from the input. *blank-nodes* is rebound to a new equal hash table and maps blank node identifiers to their blanks nodes. If the document element is rdf:RDF, then its children are processed as node elements, otherwise, the body of the document is parsed as a sequence of node elements.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-uri-non-strictly (condition)

parse-uri-non-strictly condition => result*
condition—a condition
Parse-uri-non-strictly is a restart function that invokes the restart named parse-uri-non-strictly. If no such restart is available, parse-uri-non-strictly returns NIL, otherwise the results of invoking the restart are returned.

Package

cl-rdfxml.

Source

rdfxml.lisp.


5.1.3 Generic functions

Generic Reader: blank-node-id (blank-node)

blank-node-id blank-node => id
blank-node—a blank-node
id—a string
Blank-node-id returns the ID of the blank-node. Blank-node-ids are intended to be used for readability purposes. Blank-nodes should be compared directly using object equality. That two blank-nodes have ids that are string= does not mean that they represent the same RDF blank-node.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Methods
Reader Method: blank-node-id ((blank-node blank-node))

The graph-local ID of the blank-node. This slot is
unbound if the blank node has no id. The id of a blank node is used to identify the blank node within the scope of a particular graph. That two blank-nodes happen to have the same ID is not an indication that they represent the same blank node.

Target Slot

id.

Generic Reader: literal-datatype (typed-literal)

literal-datatype typed-literal => datatype
typed-literal—a typed-literal
datatype—an interned PURI uri
Literal-datatype returns the datatype of a typed-literal. The datatype URI is interned, and may be compared with eq.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Methods
Reader Method: literal-datatype ((typed-literal typed-literal))

The datatype of a typed-literal, which is not optional, is a URI designating the datatype.

Target Slot

datatype.

Generic Reader: literal-language (plain-literal)

literal-language plain-literal => result
plain-literal—a plain-literal
result—a string or nil
Literal-language return the language tag of the plain-literal, if there is one, and nil if no language tag is associated with the literal.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Methods
Reader Method: literal-language ((plain-literal plain-literal))

The language tag associated with a plain literal.
If language is nil, the the plain-literal has no language type. If language is non-nil, it should be a string that conforms to RDF 3066.

Target Slot

language.

Generic Reader: literal-string (literal)

literal-string literal => string
literal—a literal
string—a string
Literal-string returns the lexical form of the literal.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Methods
Reader Method: literal-string ((literal literal))

The lexical form of the literal.

Target Slot

string.


5.1.4 Standalone methods

Method: print-object ((literal typed-literal) stream)

print-object typed-literal stream => typed-literal typed-literal—a typed-literal
stream—an output stream
Print-object prints the typed-literal in a form similar to the W3C RDF Validation output. The literal string appears with double quotation marks, and the datatype URI is printed with a ^^ prefix.

Source

rdfxml.lisp.

Method: print-object ((literal plain-literal) stream)

print-object plain-literal stream => plain-literal plain-literal—a plain-literal
stream—an output stream
Print-object prints the plain-literal in a form similar to the W3C RDF Validation output. The literal string appears with double quotation marks, and the language-tag, if provided is output with an asperand.

Source

rdfxml.lisp.

Method: print-object ((bnode blank-node) stream)

print-object bnode stream => bnode
bnode—a blank-node
stream—an output stream
Print-objects prints a representation of the blank node to stream. The representation is not readable.

Source

rdfxml.lisp.


5.1.5 Conditions

Condition: bad-node-element-uri

Errors of type bad-node-element-uri are signalled
when a URI that is not a node-element-uri is specified in a position where a node-element-uri is expected.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

bad-uri.

Condition: bad-property-element-uri

Errors of type bad-property-element-uri are
signalled when a URI that is not a property-element-uri is specified in a position where a property-element-uri is expected.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

bad-uri.

Condition: bad-uri

Errors that are subclasses of bad-uri are signalled
when a URI appears in a place that a URI is required, but the provided URI is not a valid URI for that place.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct subclasses
Direct methods

uri.

Direct slots
Slot: uri
Initargs

:uri

Readers

uri.

Writers

This slot is read-only.

Condition: datatyped-empty-property

Errors of type datatyped-empty-property are
signaled when the parser is attempting to parser an empty property, but an rdf:datatype attribute is specified. rdf:datatype is not a permissible attribute on on empty properties, but it is expected that this case will most likely arise when the intent was to generate a literal element with an empty string. When this type of error is signalled, it is expected that one of the available restarts will make an attempt to parse the element as a literal with a null string. This issue is also in the errata of the RDF/XML syntax specification.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

prohibited-attribute.

Condition: duplicate-attribute

Errors of type duplicate-attribute are signalled
when attributes are specified more than once and the XML parser did not flag the error. This happens when, according to the RDF/XML specification, certain non-namespaced attributes are interpreted as being in the RDF namespace. A duplicate attribute can appear, for instance, when rdf:ID is specified in conjunction with ID, which is interpreted as rdf:ID.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct methods

attribute.

Direct slots
Slot: attribute
Initargs

:attribute

Readers

attribute.

Writers

This slot is read-only.

Condition: illegal-namespace-name

According to Section 5.1 of the RDF/XML Syntax
Specification, Within RDF/XML documents it is not permitted to use XML namespaces whose namespace name is the RDF namespace URI reference concatenated with additional characters.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct methods
Direct slots
Slot: prefix
Initargs

:prefix

Readers

prefix.

Writers

This slot is read-only.

Slot: uri
Initargs

:uri

Readers

uri.

Writers

This slot is read-only.

Condition: invalid-attribute-value

Conditions of type invalid-attribute-value are
signalled when an attribute value is not appropriate for the particular attribute. This kind of situation may happen, for instance, if a xml:lang value is not RFC 3066 compliant, or if an rdf:ID or rdf:nodeID value is not an XML NCName. Note that these situations are distinct from those in which an attribute appears where it should not.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct subclasses
Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

value.

Writers

This slot is read-only.

Slot: attribute
Initargs

:attribute

Readers

attribute.

Writers

This slot is read-only.

Condition: invalid-language-tag

Language tags in RDF/XML (and more generally, XML)
must be in accordance with RFC 3066. When a language tag is specified that is not of the proper form, an error of type invalid-language-tag is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

invalid-attribute-value.

Direct methods

tag.

Direct slots
Slot: tag
Initargs

:tag

Readers

tag.

Writers

This slot is read-only.

Condition: mutually-exclusive-attributes

Some elements are permitted to contain one of a set
of attributes, but no more than one of the set. That is, there are attributes that are permitted on an element, but are mutually exclusive. This class of error is signalled when such attributes are encountered.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct methods

attributes.

Direct slots
Slot: attributes
Initargs

:attributes

Readers

attributes.

Writers

This slot is read-only.

Condition: non-namespaced-attribute

Certain attribute, namely rdf:ID, rdf:about,
rdf:resource, rdf:parseType, and rdf:type are permitted to appear without a namespace specified. These attributes are automatically treated as though they had appeared with the RDF namespace prefix. Any other attributes without namespaces, however, must not appear.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

prohibited-attribute.

Condition: non-namespaced-name

According to 6.1.4 of the RDF/XML Syntax
Specification, the attributes ID, about, resource, parseType, and type may appear without a namespace prefix, and are interpreted as the corresponding RDF names. Also, "new documents SHOULD NOT use these unqualified attributes, and applications MAY choose to warn when the unqualified form is seen in a document." non-namespaced-name is the class of warnings that are signalled in such situations.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-warning.

Direct methods

name.

Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

This slot is read-only.

Condition: non-nc-name-id

Errors of type non-nc-name-id are raised when
attributes rdf:ID or rdf:nodeID appear with values that are not valid NCNames.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

invalid-attribute-value.

Condition: other-parse-type

The rdf:parseType attribute has three explicitly
meaning values, "Resource", "Literal", and "Collection". If rdf:parseType is encountered with a different value, the element is processed as though the value had been "Literal". The specification does not indicate that a warning should be signalled, and so such warnings are not generated in the default case, but if the user requests warnings on such attribute values, a warning of type other-parse-type is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-warning.

Direct methods

parse-type.

Direct slots
Slot: parse-type
Initargs

:parse-type

Readers

parse-type.

Writers

This slot is read-only.

Condition: prohibited-attribute

At various places in RDF/XML, the set of attributes
permissible on an element is restricted. When an attribute appears on an element but is not allowed there, an prohibited-attribute error is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct subclasses
Direct methods

attribute.

Direct slots
Slot: attribute
Initargs

:attribute

Readers

attribute.

Writers

This slot is read-only.

Condition: rdf-prefixed-non-rdf-name

According to "Section 5.1 The RDF Namespace and
Vocabulary" of the RDF/XML Syntax Specification, certain names are defined as RDF names, and these begin with the RDF namespace name, but "any other names [beginning with the RDF namespace name] are not defined and SHOULD generate a warning when encountered, but should otherwise behave normally." rdf-prefixed-non-rdf-name is the class of warnings that are signalled in such situations.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-warning.

Direct methods

name.

Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

This slot is read-only.

Condition: rdfxml-error

The class of errors signalled by the RDF/XML parser.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods

source.

Direct slots
Slot: source
Initargs

:source

Readers

source.

Writers

This slot is read-only.

Condition: rdfxml-warning

The class of warnings signalled by the RDF/XML parser.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

warning.

Direct subclasses
Condition: repeated-id

Errors of type repeated-id are signalled when the
value of an rdf:ID on an element is the same as the value of an rdf:ID attribute on another element. rdf:IDs should be unique within the a document.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

invalid-attribute-value.

Condition: unexpected-characters

Excess whitespace is always permitted between
elements, but arbitrary character data is not. When non-whitespace character data is encountered where whitespace is expected, an error of type unexpected characters is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

rdfxml-error.

Direct methods

characters.

Direct slots
Slot: characters
Initargs

:characters

Readers

characters.

Writers

This slot is read-only.


5.1.6 Classes

Class: blank-node

The blank-node class represents blank nodes in a
graph. Blanks nodes are local to a graph, and can be identified within a graph by their ID. The blank-node id is used for refering to the same blank node in an RDF/XML document, and so in general, blank-nodes ought to compared using object equality, i.e., eq.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct methods
Direct slots
Slot: id

The graph-local ID of the blank-node. This slot is
unbound if the blank node has no id. The id of a blank node is used to identify the blank node within the scope of a particular graph. That two blank-nodes happen to have the same ID is not an indication that they represent the same blank node.

Type

string

Initargs

:id

Readers

blank-node-id.

Writers

This slot is read-only.

Class: literal

The literal class is the superclass of both the
plain-literal and the typed literal. Every literal has some lexical form, and the slot storing this form is defined in the literal class, and may be read with literal-string.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct subclasses
Direct methods

literal-string.

Direct slots
Slot: string

The lexical form of the literal.

Package

common-lisp.

Type

string

Initargs

:string

Readers

literal-string.

Writers

This slot is read-only.

Class: plain-literal

The plain-literal class is the class comprising all plain-literals. These literals have a lexical form, inherited from the superclass literal, and an optional language tag. The language tag, when provided, should be of the form specified by RFC 3066, and is normalized to lowercase.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

literal.

Direct methods
Direct slots
Slot: language

The language tag associated with a plain literal.
If language is nil, the the plain-literal has no language type. If language is non-nil, it should be a string that conforms to RDF 3066.

Type

(or null string)

Initargs

:language

Readers

literal-language.

Writers

This slot is read-only.

Class: typed-literal

The typed-literal class is the class comprising all typed-literals. These literals have a lexical form, inherited from the superclass literal, and a required datatype. The datatype is a puri:uri.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Direct superclasses

literal.

Direct methods
Direct slots
Slot: datatype

The datatype of a typed-literal, which is not optional, is a URI designating the datatype.

Type

puri:uri

Initargs

:datatype

Readers

literal-datatype.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Special variables

Special Variable: *blank-nodes*

An equal hash table that is used for ‘interning’ blank node IDs within the scope of a single graph. Initially nil, but should be bound for each graph being processed.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *current-xml-lang*

The most recent xml:lang attribute that was specified in the RDF/XML text. The initial value is nil, and *current-xml-lang* is always rebound to nil when document parsing begins.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *element-ids*

During parsing, an ’equal hash table that functions as a set of the IDs that have been processed. Duplicate IDs in an RDF/XML document are prohibited, i.e., it is an error for two elements to have the same value on an rdf:ID attribute.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *li-counter*

A list of li-counters. With each expecting-element’, a new counter is pushed onto *li-counter*, and so incrementing the counter of an element’s parent is done by (incf (cadr *li-counter*)).

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *object*

The predicate of the triples being processed.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *plain-literals*

An equal hash-table used for interning plain literals, that is, literals with a string component and an optional language tag.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *predicate*

The predicate of the triples being processed.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *subject*

The subject of the triples being processed.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *triple-receiver*

A function that receives the triples.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: *typed-literals*

An equal hash-table used for interning typed literals, that is, literals with a string component and a datatype.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Special Variable: +xml-namespace+

The string form of the URI XML namespace.

Package

cl-rdfxml.

Source

rdfxml.lisp.


5.2.2 Macros

Macro: define-prefixed-name (name prefix suffix)

define-prefixed-name name prefix suffix
name—a symbol, not evaluated
prefix, suffix—evaluated to produce strings Define-prefixed-term defines name as a constant. The value of the constant is an interned puri URI generated by concatenating the strings designated by prefix and suffix.

Package

cl-rdfxml.

Source

constants.lisp.

Macro: define-rdf-term (name suffix)

define-rdf-term name suffix
name—a symbol, not evaluated
suffix—evaluated to produce a string designator define-rdf-term defines name as a constant. The value of the new constant is a PURI uri constructed by concatenating +rdf-namespace+ and the suffix.

Package

cl-rdfxml.

Source

constants.lisp.

Macro: define-rdfs-term (name suffix)

define-rdfs-term name suffix
name—a symbol, not evaluated
suffix—evaluated to produce a string designator define-rdfs-term defines name as a constant. The value of the new constant is a PURI uri constructed by concatenating +rdfs-namepsace+ and the string designated by suffix.

Package

cl-rdfxml.

Source

constants.lisp.

Macro: doalist (((key value &optional pair) list &optional result) &body body)

doalist ((key value [pair]) list-form [result-form]) {tag | statement}* => result* key, value, pair—symbols
list-form, result-form,, statement—forms
tag—a go tag; not evaluated
results—if a return or return from form is executed, the values
passed from that form; otherwise, the values returned by the
result-form or nil if there is no result form.
Doalist iterates over the keys and values (and conses) in an
association list. The body of doalist is like a tagbody. doalist is
similar to a dolist, but rather than binding a single variable to each
element of a list, doalist binds key and value to the car and cdr of
each cons in an association list, and pair to the cdr.

Package

cl-rdfxml.

Source

utilities.lisp.

Macro: expecting-element ((source &optional lname uri) &body body)

expecting-element (source [lname [uri]]) form*
expecting-element is a wrapper around klacks:expecting element that ensures proper binding of the *current-xml-lang* variable, so that plain literals can properly inherit the value of xml:lang attributes. Within this RDF/XML parser, expecting-element should always be used rather than klacks:expecting-element.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Macro: with-alist-restarts ((thing alist) restartable-form &body body)

with-alist-restarts (thing alist) form &body body
thing—a symbol
alist—an association list
restartable-form—a form
body—forms
With-alist-restarts evaluates restartable form within a dynamic context in which a restart is established for each entry in alist. If the restart corresponding to an entry is invoked, then thing is bound to the entry’s cons cell, and body is evaluated, and the result of body is the result of the form. If restartable-form does not signal an error, then the result is the result of restartable form.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Macro: with-xml-lang (lang &body body)

with-xml-lang lang form*
With-xml-lang evalutes lang to generate a new language, and evalutes body with a new binding of *current-xml-lang*. If the result of evalating lang is null, then *current-xml-lang* is rebound to its current value, if it is "", then *current-xml-lang* is bound to nil, otherwise, *current-xml-lang* is bound to the new language.

Package

cl-rdfxml.

Source

rdfxml.lisp.


5.2.3 Ordinary functions

Function: add-fragment (id base)

add-fragment id base => interned-uri
id—a uri fragment id
base—a uri designator
Add-fragment merges "#<id>" with base, and returns the result of interning the merged URI.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: attribute-uri (attribute source)

attribute-uri attribute source => uri
attribute—a sax:attribute
source—a cxml:source
uri—a PURI uri
Attribute-uri returns the URi associated with the attribute, as described by Section 6.1.4 Attribute Event in the RDF/XML Syntax specification. In general this is the concatenation of the namespace URI with the local name. If no namespace is provided, and the local name is ID, about, resource, parseType, or type, then the corresponding RDF term URI is returned. Otherwise, an error is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: check-for-illegal-namespace-names (attributes)

check-for-illegal-namespace-names attributes => |
attributes—a list of attributes check-for-illegal-namespace-names enforces the restriction of Section 5.1 of the RDF/XML Syntax Specification that states that "within RDF/XML documents it is not permitted to use XML namespaces whose namespace name is the RDF namespace URI reference concatenated with additional characters." If such a namespace binding is encountered, an error of type illegal-namespace-name is signalled.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: consume-whitespace (source)

consume-whitespace source => |
source—a cxml source
Consume-whitespace peeks and consumes events from source while the events are of type :characters and the associated string satisfies xml-whitespace-p, or if the event is :comment.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: core-syntax-term-p (object)

core-syntax-term-p object => boolean
core-syntax-term-p returns true if object is in +core-syntax-terms+.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: current-position (source)

current-position source => position
source—a cxml:source
position—a string
Current-position returns a string of the form <line>.<column> indicating the approximate position of source.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: element-attributes (source)

element-attributes source => attributes
source—a cxml:source
attributes—an alist
Element-attributes returns an association list whose keys are the attribute URIs of the attributes of the current element and whose values are the corresponding values. The attributes used in RDF/XML are the atributes of the element, except that xml attributes are removed (those satisfying xml-attribute-p) according to Section 6.1.2 "Element Event" in the RDF/XML Syntax Specification.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: element-literal-content (source &key consume-end)

element-literal-content source &key consume-end => content source—a cxml:source
content—a string
consume-end—a boolean
Element-literal-content returns a string that is the literal content of the of element at source. The current event of source should be :start-element of the element whose literal content is to be extracted. The corresponding :end-element is consumed if consume-end is non-nil (the default).

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: element-uri (source)

element-uri source => uri
source—a cxml:source
uri—a URI
Element-uri returns the result of interning the concatenation of the current element’s uri and lname. Element-uri calls klacks:current-uri and klacks:current-lname, which signal an error if the current event is not :start-element or :end-element.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: emit-triple (&key subject predicate object)

emit-triple &key subject predicate object => value*
subject, predicate, object—objects
Emit-triple calls the value of *triple-receiver* with the three values subject, predicate, and object. subject, predicate, and object, if not provided, default, respecively, to *subject*, *predicate*, and *object*.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: empty-property-element (source attributes)

empty-property-element source attributes => |
source—a cxml:source
attributes—an alist
Processes an empty property element, emitting the appropriate triples for property attributes on the element, as well as the triple of which the empty property is the object. The triple of which the empty property element is the object is also reified when the ID attribute is present.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: empty-property-element-components (source attributes)

empty-property-element-components source attributes => pattributes, id, thing source—a cxml:source
attributes, pattributes—association lists
id—a PURI uri or nil
thing—a indicator of the empty property element Empty-property-element-components returns as multiple values the
property attributes of the element (as an association list), an id corresponding to the element (which is NIL if no ID was provided), and
an indicator of the element, which is either a plain literal with the empty string as its lexical component, a blank node, or a URI.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: ensure-non-repeated-id (attributes source)

ensure-non-repeated-id attributes => new-attributes
attributes, new-attributes—association lists Ensure-non-repeated-id ensures that if the association list attributes contains a value for the key rdf:ID, that *element-ids* does not currently map value to t, that is, that the element has not appeared on another element. If there is an rdf:ID value and it has already been specified on another element, restarts include using this value anyway, ignoring the rdf:ID attribute, and using a different value. In any of the cases that an ID is eventually specified, *element-ids* is updated to include the new ID.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: expanded-li-uri ()

expanded-li-uri => uri
uri—a puri:uri
Expanded-li-uri returns the uri generated by incrementing the current element’s parent’s li counter and adding the fragment _n (where n is the incremented counter) to the RDF namespace.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: id-name-p (string)

id-name-p string => boolean
string—a string
Id-name-p returns true if string is a valid XML NCName, which are the only valid names attribute values for rdf:ID and rdf:nodeID.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: immediate-xml-lang (source)

immediate-xml-lang source => result
source—a cxml:source
result—a string or nil
Immediate-xml-lang returns the value of the xml:lang attribute on the source. Source’s current event should be :start-element. If the attribute is specified, its value, a string, is returned. If the attribute is not specified, nil is returned.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: intern-uri (xuri)

intern-uri xuri => uri
xuri—a uri designator
uri—a puri:uri
Intern URI is a wrapper around puri:intern-uri that provides a use-value restart, so that a new uri designator can be provided.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: language-tag-p (string)

language-tag-p string => boolean
string—a string
language-tag-p return true if the designated string is in the form specified by RFC-3066. the general form of such a language tag is <ALPHA>{1,8} [’-’ [<ALPHA> | <DIGIT>]{1,8}]*, that is, a string of at least 1 and at most 8 alphabetic characters followed by any number of subtags that are a hypen followed by at least 1 and at most 8 alphabetic or digit characters. RFC-3066 also specifies what particular strings may appear based on country codes, etc., but these constraints are not enforced here.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: literal-property-element (source attributes text)

literal-property-element source attributes text => |
source—a cxml:source
attributes—an alist
text—a string
Literal-property-element emits the triple corresponding to the literal property element. Text is the literal text of the literal property. Attributes is the alist of attributes of the property-element that originally contained text.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: membership-fragment-p (fragment)

membership-fragment fragment => boolean
fragment—a string or NIL
Membership-fragment-p returns true if fragment is of the form "_n where n is a decimal integer greater than zero with no leading zeros." (RDF/XML Syntax Specification, Section 5.1)

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: membership-property-element-p (xuri)

membership-property-element-p xuri => boolean
xuri—a uri designator
Membership-property-element-p returns true if the designated URI is either rdf:li or of the form rdf:_n where n standard for a sequence of base-10 digits.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: merge-uris (uri base)

merge-uris uri base => interned-uri
uri, base—uri designators
interned-uri—a uri
merge-uris is a convenience function that merges uri and base and interns the result.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: node-element (source)

node-element source => node
source—a cxml source
Node-element processes the source’s current node. Source should be at a :start-element, and the element should correspond to a node. Triples represented in the node will be emitted. The node is returned.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: node-element-components (source)

node-element-components source => property-attributes, this source—a cxml:source
property-attributes—an alist
this—a blank node or a URI
Node-element-components returns an alist of the property-attributes on the element at which source should be positioned, and a blank node or URI indicating the object that this node element represents. At most one of rdf:ID, rdf:nodeID, and rdf:about should be specified, and an error is signalled if more than one is specified. An error is also signalled if any the URI of any attribute is not a valid property-attribute URI.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: node-element-list (source &key collect)

node-element-list source &key collect => [nodes]
source—a cxml-source
Node-element-list processes a node element list, corresponding to production 7.2.10, ws* (nodeElement ws*)*. If collect is non-nil, then the nodes are collected and returned.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: node-element-subject (this source)

node-element-subject this base => result
this—a cons, or nil
source—a cxml:source
Node-element-subject returns the object designated by this (the second return value of node-element-attributes) and base. If this is null, then a blank-node is returned. Otherwise, the car of this should be either +rdf-node-id+, +rdf-about+, or +rdf-id+, and result is determined as follows: If the uri is +rdf-node-id+, then a blank node with an id is returned, where the id is the cdr of this. If the uri is +rdf-about+, then the cdr of the this is mergedd with base. If uri is +rdf-id+, then the cdr of this is added as a fragment to base.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: node-element-uri-p (xuri)

node-element-uri-p xuri => boolean
xuri—a URI designator
Node-element-uri-p determines whether the designated URI is a valid node element URI. Node element URIs are all URIs except core syntax terms, rdf:li, and old RDF terms.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: non-parse-type-property-element (source)

non-parse-type-property-element source => |
source—a cxml:source
If a property element does not specify the rdf:parseType attribute, then the property-element is parsed with either resource-property-element, literal-property-element, or empty-property-element. Resource-property-element matches in the case that there is a single element within the property-element, literal-property-element matches when there is only text content within the property-element, and empty-property-element matches when there is no content whatsoever within the property-element.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: old-term-p (object)

old-term-p object => boolean
old-term-p returns true if object is in +old-terms+.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-type-collection-property-element (source)

parse-type-collection-property-element source => |
source—a cxml source
parse-type-collection-property-element processes the content of a property element that has parseType="Collection". Triples are emitted that describe the sequence of nodes within the property element.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-type-literal-property-element (source)

parse-type-literal-property-element source => |
source—a cxml source
Parse-type-literal-property-element binds *object* to a typed literal whose type is rdf:XMLLiteral, and whose content is the text content of the current element. If the current element has an rdf:ID attribute, then the triple is reified with the ID.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-type-property-element-id (source)

parse-type-property-element-id source => id
source—a cxml:source
id—a URI or nil
Elements that specify the rdf:parseType attribute may only have one other attribute, rdf:ID. This function extracts the value of the rdf:ID attribute if specified and returns a URI which is the base uri with the value of the ID attribute as a fragment id or nil if there is no such attribute. An error is signalled if rdf:ID is specified more than once, or if an attribute other than rdf:parseType or rdf:ID is specified.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: parse-type-resource-property-element (source)

parse-type-resource-property-element source => |
source—a cxml source
parse-type-resource-property-element processes a property element with parseType Resource, according to production 7.2.18.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: peek-skipping-comments (source)

peek-skipping-comments source => result*
souce—a cxml:source
Peek-skipping-comments returns the same values that klacks:peek returns, with the exception that if the next event from source is :comments, the event is consumed. The values of the first non-comment event are returned.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: prefixp (prefix sequence &key test)

prefixp prefix sequence => boolean, properp
prefix, string—sequences
properp—a boolean
prefixp returns true if prefix is a prefix of sequence. Elements of prefix and sequence are compared using test. A second value, properp, is true when the length of the prefix is less than the length of the sequence, regardless of whether prefix is actually a prefix of sequence.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: prompt-for-line (message &rest args)

prompt-for-line message &rest args => line, okp
message—a format control
args—format arguments for message
line—a string
okp—a boolean
Prompt-for-line displays the prompt specified by message and args on *query-io* and reads a line from *query-io*. If the reading is successful, the line is returned and okp is true. If reading fails, say, from an EOF, then line is the empty string, and okp is false.

Package

cl-rdfxml.

Source

utilities.lisp.

Function: prompt-for-uri ()

prompt-for-uri => result
result—a list of two values.
prompt-for-uri returns the list of values that result from invoking prompt-for-line with the message "Enter a URI:".

Package

cl-rdfxml.

Source

utilities.lisp.

Function: property-attribute-uri-p (xuri)

property-attribute-uri-p xuri => boolean
xuri—a URI designator
Property-attribute-uri-p determines whether the designated URI is a valid property attribute URI. Property attribute URIs are all URIs except core syntax terms, rdf:Description, rdf:li, and old RDF terms.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: property-element (source)

property-element source => |
source—a cxml source
Property-element processes the current property element, according to production 7.2.14. There are actually a number of different kinds of property elements that can appear, and so process-property element processes enough of the element to determine which type, and then dispatches to more specific property element processing functions.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: property-element-list (source)

property-element-list source => |
source—a cxml source
Property-element-list processes a property element list, corresponding to production 7.2.13, ws* (propertyElt ws*)*.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: property-element-uri-p (xuri)

property-element-uri-p xuri => boolean
xuri—a URI designator
Property-element-uri-p determines whether the designated URI is a valid property element URI. Property element URIs are all URIs except core syntax terms, rdf:Description, and old RDF terms.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: rdf-name-p (xuri)

rdf-name-p xuri => boolean
xuri—a URI designator
Rdf-name-p returns true if the designated URI is an RDF name, including the infinite set of rdf:_n names.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: rdf-namespace-prefixed-p (xuri)

rdf-namespace-prefixed xuri => boolean
xuri—a uri designator
Rdf-namespace-prefixed-p returns true if xuri is prefixed with +rdf-namespace+.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: reify-triple (triple-uri)

reify-triple triple-uri => |
triple-uri—a PURI URI
Reify-triple emits the four triples that reify the triple <*subject* *predicate* *object*>. Triple-uri is the URI of the reified triple.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: resource-property-element (source attributes)

resource-property-element source attributes => |
source—a cxml:source
attributes—an alist
resource-property-element finished the processing of a resource property element that should have begun with non-parse-type-property-element. source should be positioned at the :start-element of the node element within the property-element. resource-property-element does not consume trailing whitespace after the node element. The only attribute permitted on the resource property-element is rdf:ID, and an error is signalled if other attributes are specified, or rdf:ID is specified more than once.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: strcat (&rest strings)

strcat string* => string
strings, string—strings
strcat returns the concatentation of the strings.

Package

cl-rdfxml.

Source

utilities.lisp.

Function: syntax-term-p (object)

syntax-term-p object => boolean
syntax-term-p returns true if object is a syntax term (a core syntax term, rdf:Description, or rdf:li).

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: unique-attributes (attributes source)

unique-attributes attributes source => uniques
attributes, uniques—associaation lists
source—a cxml:source
Unique-attributes returns an association list that no entries with the same key. The entries of the new association list are those of the original association list, but in the event that a duplicate is detected, an error of type duplicate-attribute is signalled, and various options are provided.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: xml-attribute-p (attribute)

xml-attribute-p attribute => boolean
attribute—a sax:attribute
Xml-attribute-p returns true if attribute has a prefix that begins with "xml", or if the attribute has no prefix and the attribute’s local name begins with "xml". or if attribute satisfies xml-lang-attribute-p.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: xml-lang-attribute-p (attribute)

xml-lang-attribute-p attribute => boolean
attribute—a sax:attribute
xml-lang-attribute-p returns true if attribute has a local-name "name" and a namespace-uri +xml-namespace+.

Package

cl-rdfxml.

Source

rdfxml.lisp.

Function: xml-whitespace-p (string)

xml-whitespace-p string => boolean
string—a string-designator
xml-whitespace-p returns true if every element of the string is an XML whitespace character (i.e., is #x20, #x9, #xD, or #xA), or if string is the empty string.

Package

cl-rdfxml.

Source

rdfxml.lisp.


5.2.4 Generic functions

Generic Reader: attribute (condition)
Package

cl-rdfxml.

Methods
Reader Method: attribute ((condition prohibited-attribute))
Source

rdfxml.lisp.

Target Slot

attribute.

Reader Method: attribute ((condition duplicate-attribute))
Source

rdfxml.lisp.

Target Slot

attribute.

Reader Method: attribute ((condition invalid-attribute-value))
Source

rdfxml.lisp.

Target Slot

attribute.

Generic Reader: attributes (condition)
Package

cl-rdfxml.

Methods
Reader Method: attributes ((condition mutually-exclusive-attributes))
Source

rdfxml.lisp.

Target Slot

attributes.

Generic Reader: characters (condition)
Package

cl-rdfxml.

Methods
Reader Method: characters ((condition unexpected-characters))
Source

rdfxml.lisp.

Target Slot

characters.

Generic Reader: name (condition)
Package

cl-rdfxml.

Methods
Reader Method: name ((condition non-namespaced-name))
Source

rdfxml.lisp.

Target Slot

name.

Reader Method: name ((condition rdf-prefixed-non-rdf-name))
Source

rdfxml.lisp.

Target Slot

name.

Generic Reader: parse-type (condition)
Package

cl-rdfxml.

Methods
Reader Method: parse-type ((condition other-parse-type))
Source

rdfxml.lisp.

Target Slot

parse-type.

Generic Reader: prefix (condition)
Package

cl-rdfxml.

Methods
Reader Method: prefix ((condition illegal-namespace-name))
Source

rdfxml.lisp.

Target Slot

prefix.

Generic Reader: source (condition)
Package

cl-rdfxml.

Methods
Reader Method: source ((condition rdfxml-error))
Source

rdfxml.lisp.

Target Slot

source.

Generic Reader: tag (condition)
Package

cl-rdfxml.

Methods
Reader Method: tag ((condition invalid-language-tag))
Source

rdfxml.lisp.

Target Slot

tag.

Generic Reader: uri (condition)
Package

cl-rdfxml.

Methods
Reader Method: uri ((condition bad-uri))
Source

rdfxml.lisp.

Target Slot

uri.

Reader Method: uri ((condition illegal-namespace-name))
Source

rdfxml.lisp.

Target Slot

uri.

Generic Reader: value (condition)
Package

cl-rdfxml.

Methods
Reader Method: value ((condition invalid-attribute-value))
Source

rdfxml.lisp.

Target Slot

value.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   V   W   X  
Index Entry  Section

A
add-fragment: Private ordinary functions
attribute: Private generic functions
attribute: Private generic functions
attribute: Private generic functions
attribute: Private generic functions
attribute-uri: Private ordinary functions
attributes: Private generic functions
attributes: Private generic functions

B
blank-node: Public ordinary functions
blank-node-id: Public generic functions
blank-node-id: Public generic functions

C
characters: Private generic functions
characters: Private generic functions
check-for-illegal-namespace-names: Private ordinary functions
consume-whitespace: Private ordinary functions
core-syntax-term-p: Private ordinary functions
current-position: Private ordinary functions

D
define-prefixed-name: Private macros
define-rdf-term: Private macros
define-rdfs-term: Private macros
doalist: Private macros

E
element-attributes: Private ordinary functions
element-literal-content: Private ordinary functions
element-uri: Private ordinary functions
emit-triple: Private ordinary functions
empty-property-element: Private ordinary functions
empty-property-element-components: Private ordinary functions
ensure-non-repeated-id: Private ordinary functions
expanded-li-uri: Private ordinary functions
expecting-element: Private macros

F
Function, add-fragment: Private ordinary functions
Function, attribute-uri: Private ordinary functions
Function, blank-node: Public ordinary functions
Function, check-for-illegal-namespace-names: Private ordinary functions
Function, consume-whitespace: Private ordinary functions
Function, core-syntax-term-p: Private ordinary functions
Function, current-position: Private ordinary functions
Function, element-attributes: Private ordinary functions
Function, element-literal-content: Private ordinary functions
Function, element-uri: Private ordinary functions
Function, emit-triple: Private ordinary functions
Function, empty-property-element: Private ordinary functions
Function, empty-property-element-components: Private ordinary functions
Function, ensure-non-repeated-id: Private ordinary functions
Function, expanded-li-uri: Private ordinary functions
Function, id-name-p: Private ordinary functions
Function, ignore-attribute: Public ordinary functions
Function, ignore-attributes: Public ordinary functions
Function, ignore-characters: Public ordinary functions
Function, ignore-language: Public ordinary functions
Function, immediate-xml-lang: Private ordinary functions
Function, intern-plain-literal: Public ordinary functions
Function, intern-typed-literal: Public ordinary functions
Function, intern-uri: Private ordinary functions
Function, language-tag-p: Private ordinary functions
Function, literal-property-element: Private ordinary functions
Function, membership-fragment-p: Private ordinary functions
Function, membership-property-element-p: Private ordinary functions
Function, merge-uris: Private ordinary functions
Function, node-element: Private ordinary functions
Function, node-element-components: Private ordinary functions
Function, node-element-list: Private ordinary functions
Function, node-element-subject: Private ordinary functions
Function, node-element-uri-p: Private ordinary functions
Function, non-parse-type-property-element: Private ordinary functions
Function, old-term-p: Private ordinary functions
Function, parse-as-typed-literal: Public ordinary functions
Function, parse-document: Public ordinary functions
Function, parse-type-collection-property-element: Private ordinary functions
Function, parse-type-literal-property-element: Private ordinary functions
Function, parse-type-property-element-id: Private ordinary functions
Function, parse-type-resource-property-element: Private ordinary functions
Function, parse-uri-non-strictly: Public ordinary functions
Function, peek-skipping-comments: Private ordinary functions
Function, prefixp: Private ordinary functions
Function, prompt-for-line: Private ordinary functions
Function, prompt-for-uri: Private ordinary functions
Function, property-attribute-uri-p: Private ordinary functions
Function, property-element: Private ordinary functions
Function, property-element-list: Private ordinary functions
Function, property-element-uri-p: Private ordinary functions
Function, rdf-name-p: Private ordinary functions
Function, rdf-namespace-prefixed-p: Private ordinary functions
Function, reify-triple: Private ordinary functions
Function, resource-property-element: Private ordinary functions
Function, strcat: Private ordinary functions
Function, syntax-term-p: Private ordinary functions
Function, unique-attributes: Private ordinary functions
Function, xml-attribute-p: Private ordinary functions
Function, xml-lang-attribute-p: Private ordinary functions
Function, xml-whitespace-p: Private ordinary functions

G
Generic Function, attribute: Private generic functions
Generic Function, attributes: Private generic functions
Generic Function, blank-node-id: Public generic functions
Generic Function, characters: Private generic functions
Generic Function, literal-datatype: Public generic functions
Generic Function, literal-language: Public generic functions
Generic Function, literal-string: Public generic functions
Generic Function, name: Private generic functions
Generic Function, parse-type: Private generic functions
Generic Function, prefix: Private generic functions
Generic Function, source: Private generic functions
Generic Function, tag: Private generic functions
Generic Function, uri: Private generic functions
Generic Function, value: Private generic functions

I
id-name-p: Private ordinary functions
ignore-attribute: Public ordinary functions
ignore-attributes: Public ordinary functions
ignore-characters: Public ordinary functions
ignore-language: Public ordinary functions
immediate-xml-lang: Private ordinary functions
intern-plain-literal: Public ordinary functions
intern-typed-literal: Public ordinary functions
intern-uri: Private ordinary functions

L
language-tag-p: Private ordinary functions
literal-datatype: Public generic functions
literal-datatype: Public generic functions
literal-language: Public generic functions
literal-language: Public generic functions
literal-property-element: Private ordinary functions
literal-string: Public generic functions
literal-string: Public generic functions

M
Macro, define-prefixed-name: Private macros
Macro, define-rdf-term: Private macros
Macro, define-rdfs-term: Private macros
Macro, doalist: Private macros
Macro, expecting-element: Private macros
Macro, with-alist-restarts: Private macros
Macro, with-xml-lang: Private macros
membership-fragment-p: Private ordinary functions
membership-property-element-p: Private ordinary functions
merge-uris: Private ordinary functions
Method, attribute: Private generic functions
Method, attribute: Private generic functions
Method, attribute: Private generic functions
Method, attributes: Private generic functions
Method, blank-node-id: Public generic functions
Method, characters: Private generic functions
Method, literal-datatype: Public generic functions
Method, literal-language: Public generic functions
Method, literal-string: Public generic functions
Method, name: Private generic functions
Method, name: Private generic functions
Method, parse-type: Private generic functions
Method, prefix: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, source: Private generic functions
Method, tag: Private generic functions
Method, uri: Private generic functions
Method, uri: Private generic functions
Method, value: Private generic functions

N
name: Private generic functions
name: Private generic functions
name: Private generic functions
node-element: Private ordinary functions
node-element-components: Private ordinary functions
node-element-list: Private ordinary functions
node-element-subject: Private ordinary functions
node-element-uri-p: Private ordinary functions
non-parse-type-property-element: Private ordinary functions

O
old-term-p: Private ordinary functions

P
parse-as-typed-literal: Public ordinary functions
parse-document: Public ordinary functions
parse-type: Private generic functions
parse-type: Private generic functions
parse-type-collection-property-element: Private ordinary functions
parse-type-literal-property-element: Private ordinary functions
parse-type-property-element-id: Private ordinary functions
parse-type-resource-property-element: Private ordinary functions
parse-uri-non-strictly: Public ordinary functions
peek-skipping-comments: Private ordinary functions
prefix: Private generic functions
prefix: Private generic functions
prefixp: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
prompt-for-line: Private ordinary functions
prompt-for-uri: Private ordinary functions
property-attribute-uri-p: Private ordinary functions
property-element: Private ordinary functions
property-element-list: Private ordinary functions
property-element-uri-p: Private ordinary functions

R
rdf-name-p: Private ordinary functions
rdf-namespace-prefixed-p: Private ordinary functions
reify-triple: Private ordinary functions
resource-property-element: Private ordinary functions

S
source: Private generic functions
source: Private generic functions
strcat: Private ordinary functions
syntax-term-p: Private ordinary functions

T
tag: Private generic functions
tag: Private generic functions

U
unique-attributes: Private ordinary functions
uri: Private generic functions
uri: Private generic functions
uri: Private generic functions

V
value: Private generic functions
value: Private generic functions

W
with-alist-restarts: Private macros
with-xml-lang: Private macros

X
xml-attribute-p: Private ordinary functions
xml-lang-attribute-p: Private ordinary functions
xml-whitespace-p: Private ordinary functions


A.3 Variables

Jump to:   *   +  
A   C   D   I   L   N   P   S   T   U   V  
Index Entry  Section

*
*blank-nodes*: Private special variables
*coerce-datatyped-empty-properties*: Public special variables
*current-xml-lang*: Private special variables
*element-ids*: Private special variables
*li-counter*: Private special variables
*object*: Private special variables
*parse-uris-strictly*: Public special variables
*plain-literals*: Private special variables
*predicate*: Private special variables
*subject*: Private special variables
*triple-receiver*: Private special variables
*typed-literals*: Private special variables
*warn-on-non-namespaced-names*: Public special variables
*warn-on-parse-type-other*: Public special variables
*warn-on-rdf-prefixed-non-rdf-names*: Public special variables

+
+rdf-about+: Public special variables
+rdf-about-each+: Public special variables
+rdf-about-each-prefix+: Public special variables
+rdf-alt+: Public special variables
+rdf-bag+: Public special variables
+rdf-bag-id+: Public special variables
+rdf-datatype+: Public special variables
+rdf-description+: Public special variables
+rdf-first+: Public special variables
+rdf-id+: Public special variables
+rdf-li+: Public special variables
+rdf-list+: Public special variables
+rdf-namespace+: Public special variables
+rdf-nil+: Public special variables
+rdf-node-id+: Public special variables
+rdf-object+: Public special variables
+rdf-parse-type+: Public special variables
+rdf-predicate+: Public special variables
+rdf-property+: Public special variables
+rdf-rdf+: Public special variables
+rdf-resource+: Public special variables
+rdf-rest+: Public special variables
+rdf-seq+: Public special variables
+rdf-statement+: Public special variables
+rdf-subject+: Public special variables
+rdf-type+: Public special variables
+rdf-value+: Public special variables
+rdf-xml-literal+: Public special variables
+rdfs-class+: Public special variables
+rdfs-comment+: Public special variables
+rdfs-container+: Public special variables
+rdfs-container-membership-property+: Public special variables
+rdfs-datatype+: Public special variables
+rdfs-domain+: Public special variables
+rdfs-is-defined-by+: Public special variables
+rdfs-label+: Public special variables
+rdfs-literal+: Public special variables
+rdfs-member+: Public special variables
+rdfs-namespace+: Public special variables
+rdfs-range+: Public special variables
+rdfs-resource+: Public special variables
+rdfs-see-also+: Public special variables
+rdfs-subclass-of+: Public special variables
+rdfs-subproperty-of+: Public special variables
+xml-namespace+: Private special variables

A
attribute: Public conditions
attribute: Public conditions
attribute: Public conditions
attributes: Public conditions

C
characters: Public conditions

D
datatype: Public classes

I
id: Public classes

L
language: Public classes

N
name: Public conditions
name: Public conditions

P
parse-type: Public conditions
prefix: Public conditions

S
Slot, attribute: Public conditions
Slot, attribute: Public conditions
Slot, attribute: Public conditions
Slot, attributes: Public conditions
Slot, characters: Public conditions
Slot, datatype: Public classes
Slot, id: Public classes
Slot, language: Public classes
Slot, name: Public conditions
Slot, name: Public conditions
Slot, parse-type: Public conditions
Slot, prefix: Public conditions
Slot, source: Public conditions
Slot, string: Public classes
Slot, tag: Public conditions
Slot, uri: Public conditions
Slot, uri: Public conditions
Slot, value: Public conditions
source: Public conditions
Special Variable, *blank-nodes*: Private special variables
Special Variable, *coerce-datatyped-empty-properties*: Public special variables
Special Variable, *current-xml-lang*: Private special variables
Special Variable, *element-ids*: Private special variables
Special Variable, *li-counter*: Private special variables
Special Variable, *object*: Private special variables
Special Variable, *parse-uris-strictly*: Public special variables
Special Variable, *plain-literals*: Private special variables
Special Variable, *predicate*: Private special variables
Special Variable, *subject*: Private special variables
Special Variable, *triple-receiver*: Private special variables
Special Variable, *typed-literals*: Private special variables
Special Variable, *warn-on-non-namespaced-names*: Public special variables
Special Variable, *warn-on-parse-type-other*: Public special variables
Special Variable, *warn-on-rdf-prefixed-non-rdf-names*: Public special variables
Special Variable, +rdf-about+: Public special variables
Special Variable, +rdf-about-each+: Public special variables
Special Variable, +rdf-about-each-prefix+: Public special variables
Special Variable, +rdf-alt+: Public special variables
Special Variable, +rdf-bag+: Public special variables
Special Variable, +rdf-bag-id+: Public special variables
Special Variable, +rdf-datatype+: Public special variables
Special Variable, +rdf-description+: Public special variables
Special Variable, +rdf-first+: Public special variables
Special Variable, +rdf-id+: Public special variables
Special Variable, +rdf-li+: Public special variables
Special Variable, +rdf-list+: Public special variables
Special Variable, +rdf-namespace+: Public special variables
Special Variable, +rdf-nil+: Public special variables
Special Variable, +rdf-node-id+: Public special variables
Special Variable, +rdf-object+: Public special variables
Special Variable, +rdf-parse-type+: Public special variables
Special Variable, +rdf-predicate+: Public special variables
Special Variable, +rdf-property+: Public special variables
Special Variable, +rdf-rdf+: Public special variables
Special Variable, +rdf-resource+: Public special variables
Special Variable, +rdf-rest+: Public special variables
Special Variable, +rdf-seq+: Public special variables
Special Variable, +rdf-statement+: Public special variables
Special Variable, +rdf-subject+: Public special variables
Special Variable, +rdf-type+: Public special variables
Special Variable, +rdf-value+: Public special variables
Special Variable, +rdf-xml-literal+: Public special variables
Special Variable, +rdfs-class+: Public special variables
Special Variable, +rdfs-comment+: Public special variables
Special Variable, +rdfs-container+: Public special variables
Special Variable, +rdfs-container-membership-property+: Public special variables
Special Variable, +rdfs-datatype+: Public special variables
Special Variable, +rdfs-domain+: Public special variables
Special Variable, +rdfs-is-defined-by+: Public special variables
Special Variable, +rdfs-label+: Public special variables
Special Variable, +rdfs-literal+: Public special variables
Special Variable, +rdfs-member+: Public special variables
Special Variable, +rdfs-namespace+: Public special variables
Special Variable, +rdfs-range+: Public special variables
Special Variable, +rdfs-resource+: Public special variables
Special Variable, +rdfs-see-also+: Public special variables
Special Variable, +rdfs-subclass-of+: Public special variables
Special Variable, +rdfs-subproperty-of+: Public special variables
Special Variable, +xml-namespace+: Private special variables
string: Public classes

T
tag: Public conditions

U
uri: Public conditions
uri: Public conditions

V
value: Public conditions


A.4 Data types

Jump to:   B   C   D   F   I   L   M   N   O   P   R   S   T   U  
Index Entry  Section

B
bad-node-element-uri: Public conditions
bad-property-element-uri: Public conditions
bad-uri: Public conditions
blank-node: Public classes

C
cl-rdfxml: The cl-rdfxml system
cl-rdfxml: The cl-rdfxml package
cl-rdfxml.asd: The cl-rdfxml/cl-rdfxml․asd file
Class, blank-node: Public classes
Class, literal: Public classes
Class, plain-literal: Public classes
Class, typed-literal: Public classes
Condition, bad-node-element-uri: Public conditions
Condition, bad-property-element-uri: Public conditions
Condition, bad-uri: Public conditions
Condition, datatyped-empty-property: Public conditions
Condition, duplicate-attribute: Public conditions
Condition, illegal-namespace-name: Public conditions
Condition, invalid-attribute-value: Public conditions
Condition, invalid-language-tag: Public conditions
Condition, mutually-exclusive-attributes: Public conditions
Condition, non-namespaced-attribute: Public conditions
Condition, non-namespaced-name: Public conditions
Condition, non-nc-name-id: Public conditions
Condition, other-parse-type: Public conditions
Condition, prohibited-attribute: Public conditions
Condition, rdf-prefixed-non-rdf-name: Public conditions
Condition, rdfxml-error: Public conditions
Condition, rdfxml-warning: Public conditions
Condition, repeated-id: Public conditions
Condition, unexpected-characters: Public conditions
constants.lisp: The cl-rdfxml/constants․lisp file

D
datatyped-empty-property: Public conditions
duplicate-attribute: Public conditions

F
File, cl-rdfxml.asd: The cl-rdfxml/cl-rdfxml․asd file
File, constants.lisp: The cl-rdfxml/constants․lisp file
File, package.lisp: The cl-rdfxml/package․lisp file
File, rdfxml.lisp: The cl-rdfxml/rdfxml․lisp file
File, utilities.lisp: The cl-rdfxml/utilities․lisp file

I
illegal-namespace-name: Public conditions
invalid-attribute-value: Public conditions
invalid-language-tag: Public conditions

L
literal: Public classes

M
mutually-exclusive-attributes: Public conditions

N
non-namespaced-attribute: Public conditions
non-namespaced-name: Public conditions
non-nc-name-id: Public conditions

O
other-parse-type: Public conditions

P
Package, cl-rdfxml: The cl-rdfxml package
package.lisp: The cl-rdfxml/package․lisp file
plain-literal: Public classes
prohibited-attribute: Public conditions

R
rdf-prefixed-non-rdf-name: Public conditions
rdfxml-error: Public conditions
rdfxml-warning: Public conditions
rdfxml.lisp: The cl-rdfxml/rdfxml․lisp file
repeated-id: Public conditions

S
System, cl-rdfxml: The cl-rdfxml system

T
typed-literal: Public classes

U
unexpected-characters: Public conditions
utilities.lisp: The cl-rdfxml/utilities․lisp file