Documentation

RepoResource
in package
implements RepoResourceInterface Uses RepoResourceTrait

Description of RepoResource

Tags
author

zozlak

Table of Contents

Interfaces

RepoResourceInterface

Constants

UPDATE_ADD  = 'add'
UPDATE_MERGE  = 'merge'
UPDATE_OVERWRITE  = 'overwrite'

Properties

$metadata  : Resource|null
$metaSynced  : bool
$repo  : Repo
$repoInt  : RepoInterface
$url  : string

Methods

__construct()  : mixed
Creates an object representing a repository resource.
delete()  : array<string|int, string>
Deletes the repository resource.
deleteAsync()  : PromiseInterface
Asynchronous version of delete()
factory()  : RepoResource
Creates a repository resource object from the PSR-7 response object returning the metadata.
getClasses()  : array<string|int, string>
Returns all RDF types (classes) of a given repository resource.
getContent()  : ResponseInterface
Returns repository resource binary content.
getContentAsync()  : ResponsePromise
synchronous version of getContent()
getGraph()  : resource
Returns resource metadata.
getIds()  : array<string|int, string>
Returns an array with all repository resource identifiers.
getMetadata()  : resource
Returns resource metadata.
getRepo()  : RepoInterface
Returns repository connection object associated with the given resource object.
getUri()  : string
Returns the repository resource URL.
hasBinaryContent()  : bool
Checks if the resource has the binary content.
isA()  : bool
Naivly checks if the resource is of a given class.
loadMetadata()  : void
Loads current metadata from the repository.
loadMetadataAsync()  : PromiseInterface|null
Asynchronous version of loadMetadata()
merge()  : void
Merges the current resource with the given one. See the corresponding [REST endpoint description](https://app.swaggerhub.com/apis/zozlak/arche/3.0#/default/put_merge__srcResourceId___targetResourceId_)
mergeAsync()  : PromiseInterface
Asynchronous version of merge()
setGraph()  : void
Replaces resource metadata with a given RDF resource graph. A reference to the provided metadata is stored meaning future modifications of the $metadata object automatically affect the resource metadata.
setMetadata()  : void
Replaces resource metadata with a given RDF resource graph. A deep copy of the provided metadata is stored meaning future modifications of the $metadata object don't affect the resource metadata.
updateContent()  : void
Updates repository resource binary content with a given payload.
updateContentAsync()  : PromiseInterface
Asynchronous version of updateContent()
updateMetadata()  : void
Saves the object metadata to the repository.
updateMetadataAsync()  : PromiseInterface|null
Asynchronous version of updateMetadata()
getId()  : int
Returns an internal repository resource identifier.
parseMetadata()  : void
Parses metadata fetched from the repository.
withReadHeaders()  : Request

Constants

UPDATE_OVERWRITE

public mixed UPDATE_OVERWRITE = 'overwrite'

Properties

Methods

__construct()

Creates an object representing a repository resource.

public __construct(string $url, RepoInterface $repo) : mixed
Parameters
$url : string

URL of the resource

$repo : RepoInterface

repository connection object

delete()

Deletes the repository resource.

public delete([bool $tombstone = false ][, bool $references = false ][, string $recursiveProperty = '' ]) : array<string|int, string>

Returns an array of deleted resources' URIs.

Parameters
$tombstone : bool = false

should tombstones be removed for deleted resources?

$references : bool = false

should references to deleted resources be removed from other resources?

$recursiveProperty : string = ''

is present, deletion continues recursively to all resources pointing to the deleted one with this RDF property

Return values
array<string|int, string>

deleteAsync()

Asynchronous version of delete()

public deleteAsync([bool $tombstone = false ][, bool $references = false ][, string $recursiveProperty = '' ]) : PromiseInterface
Parameters
$tombstone : bool = false
$references : bool = false
$recursiveProperty : string = ''
Tags
see
delete()
Return values
PromiseInterface

factory()

Creates a repository resource object from the PSR-7 response object returning the metadata.

public static factory(Repo $repo, ResponseInterface $response[, string|null $uri = null ]) : RepoResource
Parameters
$repo : Repo

connection object

$response : ResponseInterface

PSR-7 repository response object

$uri : string|null = null

resource URI (if not provided, a Location HTTP header from the response will be used)

Return values
RepoResource

getClasses()

Returns all RDF types (classes) of a given repository resource.

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

getContent()

Returns repository resource binary content.

public getContent() : ResponseInterface
Return values
ResponseInterface

PSR-7 response containing resource's binary content

getGraph()

Returns resource metadata.

public getGraph() : resource

Fetches them from the repository with the loadMetadata() if they were not fetched already.

A reference to the metadata is returned meaning adjusting the returned object automatically affects the resource metadata.

Tags
see
setGraph()
see
getMetadata()
Return values
resource

getIds()

Returns an array with all repository resource identifiers.

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

getMetadata()

Returns resource metadata.

public getMetadata() : resource

Fetches them from the repository with the loadMetadata() if they were not fetched already.

A deep copy of metadata is returned meaning adjusting the returned object does not automatically affect the resource metadata. Use the setMetadata() method to write back the changes you made.

Tags
see
setMetadata()
see
setGraph()
see
getGraph()
Return values
resource

getUri()

Returns the repository resource URL.

public getUri() : string
Return values
string

hasBinaryContent()

Checks if the resource has the binary content.

public hasBinaryContent() : bool
Return values
bool

isA()

Naivly checks if the resource is of a given class.

public isA(string $class) : bool

Naivly means that a given rdfs:type triple must exist in the resource metadata.

Parameters
$class : string
Return values
bool

loadMetadata()

Loads current metadata from the repository.

public loadMetadata([bool $force = false ][, string $mode = self::META_RESOURCE ][, string $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : void
Parameters
$force : bool = false

enforce fetch from the repository (when you want to make sure metadata are in line with ones in the repository or e.g. reset them back to their current state in the repository)

$mode : string = self::META_RESOURCE

scope of the metadata returned by the repository

  • see the META_* constants defined by the RepoResourceInterface
$parentProperty : string = null

RDF property to be used by the metadata read mode denoted by the $mode parameter

$resourceProperties : array<string|int, string> = []

list of RDF properties to be includes for a resource (if the list is empty, all exsiting RDF properties are included)

$relativesProperties : array<string|int, string> = []

list of RDF properties to be includes for resources being relatives (if the list is empty, all exsiting RDF properties are included)

loadMetadataAsync()

Asynchronous version of loadMetadata()

public loadMetadataAsync([bool $force = false ][, string $mode = self::META_RESOURCE ][, string|null $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : PromiseInterface|null
Parameters
$force : bool = false
$mode : string = self::META_RESOURCE
$parentProperty : string|null = null
$resourceProperties : array<string|int, string> = []
$relativesProperties : array<string|int, string> = []
Tags
see
loadMetadata()
Return values
PromiseInterface|null

merge()

Merges the current resource with the given one. See the corresponding [REST endpoint description](https://app.swaggerhub.com/apis/zozlak/arche/3.0#/default/put_merge__srcResourceId___targetResourceId_)

public merge(string $targetResId[, string $readMode = self::META_RESOURCE ][, string $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : void

If this action succeeds, resource's URI changes to the targetResource's one.

Parameters
$targetResId : string
$readMode : string = self::META_RESOURCE

scope of the metadata returned by the repository

  • see the META_* constants defined by the RepoResourceInterface
$parentProperty : string = null

RDF property to be used by the metadata read mode denoted by the $readMode parameter

$resourceProperties : array<string|int, string> = []

list of RDF properties to be includes for a resource (if the list is empty, all exsiting RDF properties are included)

$relativesProperties : array<string|int, string> = []

list of RDF properties to be includes for resources being relatives (if the list is empty, all exsiting RDF properties are included)

mergeAsync()

Asynchronous version of merge()

public mergeAsync(string $targetResId[, string $readMode = self::META_RESOURCE ][, string|null $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : PromiseInterface
Parameters
$targetResId : string
$readMode : string = self::META_RESOURCE
$parentProperty : string|null = null
$resourceProperties : array<string|int, string> = []
$relativesProperties : array<string|int, string> = []
Tags
see
merge()
Return values
PromiseInterface

setGraph()

Replaces resource metadata with a given RDF resource graph. A reference to the provided metadata is stored meaning future modifications of the $metadata object automatically affect the resource metadata.

public setGraph(resource $resource) : void

New metadata are not automatically written back to the repository. Use the updateMetadata() method to write them back.

Parameters
$resource : resource
Tags
see
updateMetadata()
see
setMetadata()

setMetadata()

Replaces resource metadata with a given RDF resource graph. A deep copy of the provided metadata is stored meaning future modifications of the $metadata object don't affect the resource metadata.

public setMetadata(resource $metadata) : void

New metadata are not automatically written back to the repository. Use the updateMetadata() method to write them back.

Parameters
$metadata : resource
Tags
see
updateMetadata()
see
setGraph()

updateContent()

Updates repository resource binary content with a given payload.

public updateContent(BinaryPayload $content[, string $readMode = self::META_RESOURCE ][, string $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : void
Parameters
$content : BinaryPayload

new content

$readMode : string = self::META_RESOURCE

scope of the metadata returned by the repository

  • see the META_* constants defined by the RepoResourceInterface
$parentProperty : string = null

RDF property to be used by the metadata read mode denoted by the $readMode parameter

$resourceProperties : array<string|int, string> = []

list of RDF properties to be includes for a resource (if the list is empty, all exsiting RDF properties are included)

$relativesProperties : array<string|int, string> = []

list of RDF properties to be includes for resources being relatives (if the list is empty, all exsiting RDF properties are included)

updateContentAsync()

Asynchronous version of updateContent()

public updateContentAsync(BinaryPayload $content[, string $readMode = self::META_RESOURCE ][, string|null $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : PromiseInterface
Parameters
$content : BinaryPayload
$readMode : string = self::META_RESOURCE
$parentProperty : string|null = null
$resourceProperties : array<string|int, string> = []
$relativesProperties : array<string|int, string> = []
Tags
see
updateContent()
Return values
PromiseInterface

updateMetadata()

Saves the object metadata to the repository.

public updateMetadata([string $updateMode = self::UPDATE_MERGE ][, string $readMode = self::META_RESOURCE ][, string $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : void

Local metadata are automatically updated with the metadata resulting from the update.

Parameters
$updateMode : string = self::UPDATE_MERGE

metadata update mode - one of RepoResource::UPDATE_MERGE, RepoResource::UPDATE_ADD and RepoResource::UPDATE_OVERWRITE

$readMode : string = self::META_RESOURCE

scope of the metadata returned by the repository

  • see the META_* constants defined by the RepoResourceInterface
$parentProperty : string = null

RDF property to be used by the metadata read mode denoted by the $readMode parameter

$resourceProperties : array<string|int, string> = []

list of RDF properties to be includes for a resource (if the list is empty, all exsiting RDF properties are included)

$relativesProperties : array<string|int, string> = []

list of RDF properties to be includes for resources being relatives (if the list is empty, all exsiting RDF properties are included)

updateMetadataAsync()

Asynchronous version of updateMetadata()

public updateMetadataAsync([string $updateMode = self::UPDATE_MERGE ][, string $readMode = self::META_RESOURCE ][, string|null $parentProperty = null ][, array<string|int, string> $resourceProperties = [] ][, array<string|int, string> $relativesProperties = [] ]) : PromiseInterface|null
Parameters
$updateMode : string = self::UPDATE_MERGE
$readMode : string = self::META_RESOURCE
$parentProperty : string|null = null
$resourceProperties : array<string|int, string> = []
$relativesProperties : array<string|int, string> = []
Tags
see
updateMetadata()
Return values
PromiseInterface|null

getId()

Returns an internal repository resource identifier.

protected getId() : int
Return values
int

parseMetadata()

Parses metadata fetched from the repository.

private parseMetadata(ResponseInterface $resp) : void
Parameters
$resp : ResponseInterface

response to the metadata fetch HTTP request.

withReadHeaders()

private withReadHeaders(Request $request, string $mode, string|null $parentProperty, array<string|int, string> $resourceProperties, array<string|int, string> $relativesProperties) : Request
Parameters
$request : Request
$mode : string
$parentProperty : string|null
$resourceProperties : array<string|int, string>
$relativesProperties : array<string|int, string>
Return values
Request

        
On this page

Search results