Documentation

Node
in package
implements NodeInterface, JsonLdSerializable

A Node represents a node in a JSON-LD graph.

Tags
author

Markus Lanthaler mail@markus-lanthaler.com

Table of Contents

Interfaces

NodeInterface
A generic interface for nodes in a JSON-LD graph.
JsonLdSerializable
The JsonLdSerializable interface

Constants

TYPE  = '@type'
The @type constant.

Properties

$graph  : GraphInterface
$id  : string
$properties  : array<string|int, mixed>
$revProperties  : array<string|int, mixed>
An associative array holding all reverse properties of this node, i.e., a pointers to all nodes that link to this node.

Methods

__construct()  : mixed
Constructor
addPropertyValue()  : self
Adds a value to a property of the node
addType()  : self
Add a type to this node
equals()  : bool
Compares this node object to the specified value.
getGraph()  : null|GraphInterface
Get the graph the node belongs to
getId()  : string|null
Get ID
getNodesWithThisType()  : array<string|int, NodeInterface>
Get the nodes which have this node as their type
getProperties()  : array<string|int, mixed>
Get the properties of this node
getProperty()  : mixed
Get the value of a property
getReverseProperties()  : array<string|int, mixed>
Get the reverse properties of this node
getReverseProperty()  : null|NodeInterface|array<string|int, NodeInterface>
Get the nodes of a reverse property
getType()  : null|NodeInterface|array<string|int, NodeInterface>
Get node type
isBlankNode()  : bool
Is this node a blank node
removeFromGraph()  : self
Removes the node from the graph
removeProperty()  : self
Removes a property and all it's values
removePropertyValue()  : self
Removes a property value
removeType()  : self
Remove a type from this node
setProperty()  : self
Set a property of the node
setType()  : self
Set the node type
toJsonLd()  : mixed
Convert to expanded and flattened JSON-LD
addReverseProperty()  : mixed
Add a reverse property.
equalValues()  : bool
Checks whether the two specified values are the same.
isValidPropertyValue()  : bool
Checks whether a value is a valid property value.
normalizePropertyValue()  : NodeInterface|Value
Normalizes a property value by converting scalars to Value objects.
removeReverseProperty()  : mixed
Remove a reverse property.
doMergeIntoProperty()  : mixed
Merge a value into a set of existing values.

Constants

TYPE

The @type constant.

public mixed TYPE = '@type'

Properties

$id

private string $id

The ID of the node

$properties

private array<string|int, mixed> $properties = array()

An associative array holding all properties of the node except it's ID

$revProperties

An associative array holding all reverse properties of this node, i.e., a pointers to all nodes that link to this node.

private array<string|int, mixed> $revProperties = array()

Methods

__construct()

Constructor

public __construct(GraphInterface $graph[, null|string $id = null ]) : mixed
Parameters
$graph : GraphInterface

The graph the node belongs to.

$id : null|string = null

The ID of the node.

addPropertyValue()

Adds a value to a property of the node

public addPropertyValue(mixed $property, mixed $value) : self
Parameters
$property : mixed

The name of the property.

$value : mixed

The value of the property. This MUST NOT be an array.

Return values
self

equals()

Compares this node object to the specified value.

public equals(NodeInterface $other) : bool
Parameters
$other : NodeInterface

The value this instance should be compared to.

Return values
bool

Returns true if the passed value is the same as this instance; false otherwise.

getGraph()

Get the graph the node belongs to

public getGraph() : null|GraphInterface
Return values
null|GraphInterface

Returns the graph the node belongs to or null if the node doesn't belong to any graph.

getId()

Get ID

public getId() : string|null
Return values
string|null

The ID of the node or null.

getNodesWithThisType()

Get the nodes which have this node as their type

public getNodesWithThisType() : array<string|int, NodeInterface>
Return values
array<string|int, NodeInterface>

Returns the node(s) having this node as their type.

getProperties()

Get the properties of this node

public getProperties() : array<string|int, mixed>
Return values
array<string|int, mixed>

Returns an associative array containing all properties of this node. The key is the property name whereas the value is the property's value.

getProperty()

Get the value of a property

public getProperty(mixed $property) : mixed
Parameters
$property : mixed

The name of the property.

Return values
mixed

Returns the value of the property or null if the property doesn't exist.

getReverseProperties()

Get the reverse properties of this node

public getReverseProperties() : array<string|int, mixed>
Return values
array<string|int, mixed>

Returns an associative array containing all reverse properties of this node. The key is the property name whereas the value is an array of nodes linking to this instance via that property.

getReverseProperty()

Get the nodes of a reverse property

public getReverseProperty(mixed $property) : null|NodeInterface|array<string|int, NodeInterface>
Parameters
$property : mixed

The name of the reverse property.

Return values
null|NodeInterface|array<string|int, NodeInterface>

Returns the node(s) pointing to this instance via the specified property or null if no such node exists.

isBlankNode()

Is this node a blank node

public isBlankNode() : bool
Return values
bool

Returns true if the node is a blank node, otherwise false.

removeFromGraph()

Removes the node from the graph

public removeFromGraph() : self
Return values
self

removeProperty()

Removes a property and all it's values

public removeProperty(mixed $property) : self
Parameters
$property : mixed

The name of the property to remove.

Return values
self

removePropertyValue()

Removes a property value

public removePropertyValue(mixed $property, mixed $value) : self
Parameters
$property : mixed

The name of the property.

$value : mixed

The value of the property. This MUST NOT be an array.

Return values
self

setProperty()

Set a property of the node

public setProperty(mixed $property, mixed $value) : self
Parameters
$property : mixed

The name of the property.

$value : mixed

The value of the property. This MUST NOT be an array. Use null to remove the property.

Return values
self

setType()

Set the node type

public setType(mixed $type) : self
Parameters
$type : mixed
Return values
self

toJsonLd()

Convert to expanded and flattened JSON-LD

public toJsonLd([mixed $useNativeTypes = true ]) : mixed
Parameters
$useNativeTypes : mixed = true

If set to true, native types are used for xsd:integer, xsd:double, and xsd:boolean, otherwise typed strings will be used instead.

Return values
mixed

Returns data which can be serialized by JsonLD::toString() (which is a value of any type other than a resource) to expanded JSON-LD.

addReverseProperty()

Add a reverse property.

protected addReverseProperty(string $property, NodeInterface $node) : mixed
Parameters
$property : string

The name of the property.

$node : NodeInterface

The node which has a property pointing to this node instance.

equalValues()

Checks whether the two specified values are the same.

protected equalValues(mixed $value1, mixed $value2) : bool

Scalars and nodes are checked for identity, value objects for equality.

Parameters
$value1 : mixed

Value 1.

$value2 : mixed

Value 2.

Return values
bool

Returns true if the two values are equals; otherwise false.

isValidPropertyValue()

Checks whether a value is a valid property value.

protected isValidPropertyValue(mixed $value) : bool
Parameters
$value : mixed

The value to check.

Return values
bool

Returns true if the value is a valid property value; false otherwise.

normalizePropertyValue()

Normalizes a property value by converting scalars to Value objects.

protected normalizePropertyValue(mixed $value) : NodeInterface|Value
Parameters
$value : mixed

The value to normalize.

Return values
NodeInterface|Value

The normalized value.

removeReverseProperty()

Remove a reverse property.

protected removeReverseProperty(string $property, NodeInterface $node) : mixed
Parameters
$property : string

The name of the property.

$node : NodeInterface

The node which has a property pointing to this node instance.

doMergeIntoProperty()

Merge a value into a set of existing values.

private doMergeIntoProperty(string $property, array<string|int, mixed> $existingValues, mixed $value) : mixed
Parameters
$property : string

The name of the property.

$existingValues : array<string|int, mixed>

The existing values.

$value : mixed

The value to merge into the existing values. This MUST NOT be an array.

Tags
throws
InvalidArgumentException

If value is an array or an object which is neither a language-tagged string nor a typed value or a node.


        
On this page

Search results