RdfXmlParser
in package
implements
ParserInterface, QuadIteratorInterface
Uses
TmpStreamParserTrait
Streaming RDF-XML parser. Fast and with low memory footprint.
Known deviations from the RDF-XML specification:
- Doesn't resolve "/.." in relative IRIs.
- Doesn't support rdf:Seq shorthand syntax
- Doesn't support rdf:Collection shorthand syntax
Tags
Interfaces, Classes, Traits and Enums
Table of Contents
- CHUNK_SIZE = 1000000
- PARSETYPE_COLLECTION = 'Collection'
- PARSETYPE_LITERAL = 'Literal'
- PARSETYPE_RESOURCE = 'Resource'
- RDF_ABOUT = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#about'
- RDF_ABOUTEACH = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEach'
- RDF_ABOUTEACHPREFIX = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEachPrefix'
- RDF_COLLELPREFIX = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#_'
- RDF_DATATYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#datatype'
- RDF_DESCRIPTION = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Description'
- RDF_ID = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#ID'
- RDF_LI = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#li'
- RDF_NODEID = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#nodeID'
- RDF_PARSETYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#parseType'
- RDF_RESOURCE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#resource'
- RDF_ROOT = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#RDF'
- XML_BASE = 'http://www.w3.org/XML/1998/namespacebase'
- XML_LANG = 'http://www.w3.org/XML/1998/namespacelang'
- $baseUri : string
- $baseUriDefault : string
- $baseUriEmpty : string
- $dataFactory : DataFactoryInterface
- $elementIds : array<string, NamedNodeInterface>
- $input : StreamInterface
- $key : int|null
- $literalAttributes : array<string|int, string>
- $nmsp : array<string, array<string|int, string>>
- $parser : XmlParser
- $skipAttributes : array<string|int, string>
- $stack : array<string|int, RdfXmlParserState>
- $state : RdfXmlParserState
- $tmpStream : resource|null
- $triples : array<string|int, QuadInterface>
- __construct() : mixed
- __destruct() : mixed
- current() : QuadInterface
- key() : int|null
- next() : void
- parse() : QuadIteratorInterface
- parseStream() : QuadIteratorInterface
- rewind() : void
- setBaseUri() : void
- valid() : bool
- addTriple() : void
- closeTmpStream() : void
- handleElementId() : NamedNodeInterface
- onCData() : void
- onElementEnd() : void
- onElementStart() : void
- onNamespaceEnd() : void
- onNamespaceStart() : void
- onNode() : void
- onPredicate() : void
- onRoot() : void
- onXmlLiteralElement() : void
- parseBaseUri() : void
- reportError() : void
- resolveIri() : string
- https://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-ID-xml-base
- shorten() : string
Constants
CHUNK_SIZE
public
mixed
CHUNK_SIZE
= 1000000
Tags
PARSETYPE_COLLECTION
public
mixed
PARSETYPE_COLLECTION
= 'Collection'
Tags
PARSETYPE_LITERAL
public
mixed
PARSETYPE_LITERAL
= 'Literal'
Tags
PARSETYPE_RESOURCE
public
mixed
PARSETYPE_RESOURCE
= 'Resource'
Tags
RDF_ABOUT
public
mixed
RDF_ABOUT
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#about'
Tags
RDF_ABOUTEACH
public
mixed
RDF_ABOUTEACH
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEach'
Tags
RDF_ABOUTEACHPREFIX
public
mixed
RDF_ABOUTEACHPREFIX
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEachPrefix'
Tags
RDF_COLLELPREFIX
public
mixed
RDF_COLLELPREFIX
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#_'
Tags
RDF_DATATYPE
public
mixed
RDF_DATATYPE
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#datatype'
Tags
RDF_DESCRIPTION
public
mixed
RDF_DESCRIPTION
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Description'
Tags
RDF_ID
public
mixed
RDF_ID
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#ID'
Tags
RDF_LI
public
mixed
RDF_LI
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#li'
Tags
RDF_NODEID
public
mixed
RDF_NODEID
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#nodeID'
Tags
RDF_PARSETYPE
public
mixed
RDF_PARSETYPE
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#parseType'
Tags
RDF_RESOURCE
public
mixed
RDF_RESOURCE
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#resource'
Tags
RDF_ROOT
public
mixed
RDF_ROOT
= 'http://www.w3.org/1999/02/22-rdf-syntax-ns#RDF'
Tags
XML_BASE
public
mixed
XML_BASE
= 'http://www.w3.org/XML/1998/namespacebase'
Tags
XML_LANG
public
mixed
XML_LANG
= 'http://www.w3.org/XML/1998/namespacelang'
Tags
Properties
$baseUri
private
string
$baseUri
Tags
$baseUriDefault
private
string
$baseUriDefault
Tags
$baseUriEmpty
private
string
$baseUriEmpty
Tags
$dataFactory
private
DataFactoryInterface
$dataFactory
Tags
$elementIds
private
array<string, NamedNodeInterface>
$elementIds
Tags
$input
private
StreamInterface
$input
Tags
$key
private
int|null
$key
= null
Tags
$literalAttributes
private
static array<string|int, string>
$literalAttributes
= [self::RDF_ID, self::RDF_DATATYPE, self::XML_LANG]
Tags
$nmsp
private
array<string, array<string|int, string>>
$nmsp
Tags
$parser
private
XmlParser
$parser
Tags
$skipAttributes
private
static array<string|int, string>
$skipAttributes
= [self::RDF_ABOUT, self::RDF_ID, self::RDF_NODEID, self::RDF_RESOURCE, self::RDF_DATATYPE, self::RDF_PARSETYPE, self::XML_LANG]
Tags
$stack
private
array<string|int, RdfXmlParserState>
$stack
Tags
$state
private
RdfXmlParserState
$state
Tags
$tmpStream
private
resource|null
$tmpStream
Tags
$triples
private
array<string|int, QuadInterface>
$triples
Tags
Methods
__construct()
public
__construct(DataFactoryInterface $dataFactory[, string $baseUri = '' ]) : mixed
Parameters
- $dataFactory : DataFactoryInterface
-
factory to be used to generate RDF terms.
- $baseUri : string = ''
Tags
Return values
mixed —__destruct()
public
__destruct() : mixed
Tags
Return values
mixed —current()
public
current() : QuadInterface
Tags
Return values
QuadInterface —key()
public
key() : int|null
Return values
int|null —next()
public
next() : void
Tags
Return values
void —parse()
public
parse(string $input) : QuadIteratorInterface
Parameters
- $input : string
Tags
Return values
QuadIteratorInterface —parseStream()
public
parseStream(mixed $input) : QuadIteratorInterface
Parameters
- $input : mixed
Tags
Return values
QuadIteratorInterface —rewind()
public
rewind() : void
Tags
Return values
void —setBaseUri()
public
setBaseUri(string $baseUri) : void
Parameters
- $baseUri : string
Tags
Return values
void —valid()
public
valid() : bool
Tags
Return values
bool —addTriple()
private
addTriple(BlankNodeInterface|NamedNodeInterface|null $subject, NamedNodeInterface|string $predicate, NamedNodeInterface|BlankNodeInterface|string $object[, string $lang = null ][, string $datatype = null ][, BlankNodeInterface|NamedNodeInterface|null $reifyAs = null ]) : void
Parameters
- $subject : BlankNodeInterface|NamedNodeInterface|null
- $predicate : NamedNodeInterface|string
- $object : NamedNodeInterface|BlankNodeInterface|string
- $lang : string = null
- $datatype : string = null
- $reifyAs : BlankNodeInterface|NamedNodeInterface|null = null
Tags
Return values
void —closeTmpStream()
private
closeTmpStream() : void
Tags
Return values
void —handleElementId()
private
handleElementId(string $id) : NamedNodeInterface
Parameters
- $id : string
Tags
Return values
NamedNodeInterface —onCData()
private
onCData(string $data) : void
Parameters
- $data : string
Tags
Return values
void —onElementEnd()
private
onElementEnd(string $name) : void
Parameters
- $name : string
Tags
Return values
void —onElementStart()
private
onElementStart(string $name, array<string, string> &$attribs) : void
Parameters
- $name : string
- $attribs : array<string, string>
Tags
Return values
void —onNamespaceEnd()
private
onNamespaceEnd(XmlParser $parser, string $prefix) : void
Parameters
- $parser : XmlParser
- $prefix : string
Tags
Return values
void —onNamespaceStart()
private
onNamespaceStart(XmlParser $parser, string $prefix, string $uri) : void
Parameters
- $parser : XmlParser
- $prefix : string
- $uri : string
Tags
Return values
void —onNode()
private
onNode(string $tag, array<string, string> &$attributes) : void
Parameters
- $tag : string
- $attributes : array<string, string>
Tags
Return values
void —onPredicate()
private
onPredicate(string $tag, array<string, string> &$attributes) : void
Parameters
- $tag : string
- $attributes : array<string, string>
Tags
Return values
void —onRoot()
private
onRoot(array<string, string> &$attributes) : void
Parameters
- $attributes : array<string, string>
Tags
Return values
void —onXmlLiteralElement()
private
onXmlLiteralElement(string $name, array<string, string> &$attributes) : void
Parameters
- $name : string
- $attributes : array<string, string>
Tags
Return values
void —parseBaseUri()
private
parseBaseUri(string $baseUri) : void
Parameters
- $baseUri : string
Tags
Return values
void —reportError()
private
reportError() : void
Tags
Return values
void —resolveIri()
https://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-ID-xml-base
private
resolveIri(string $iri) : string
Parameters
- $iri : string
Tags
Return values
string —shorten()
private
shorten(string $uri) : string
Parameters
- $uri : string