# TagsLogicInterface

interface TagsLogicInterface

Interface TagsLogicInterface

## Methods

RESTClient
getTags(string $grouping, string $groupingName, string $regex, string $order, int $start, int $end)

/tags ?filter=[regex] ?(user|group|viewable)=[username/groupname] ?order=(frequency|alph)

RESTClient
getTagDetails(string $tagName)

/tags/[tag]

RESTClient
getTagRelation(int $start, int $end, string $relation, string $tagName)

No description

RESTClient
getConcepts(string $resourceType, string $grouping, string $groupingName, string $regex, array $tags, string $status, int $start, int $end)

/concepts

RESTClient
getConceptDetails(string $conceptName, string $userName)

GET /users/[userName]/concepts/[conceptName] GET /concepts/[conceptName]

RESTClient
createConcept(Tag $concept, string $conceptName, string $userName)

POST /users/[userName]/concepts/[conceptName]

RESTClient
updateConcept(Tag $concept, string $userName, string $operation)

PUT /users/[username]/concepts/[conceptname]

RESTClient
deleteConcept(string $conceptName, string $userName)

DELETE /users/[username]/concepts/[conceptName]

## Details

###
at line 64
`RESTClient getTags(string $grouping, string $groupingName, string $regex, string $order, int $start, int $end)`

/tags ?filter=[regex] ?(user|group|viewable)=[username/groupname] ?order=(frequency|alph)

Returns a list of tags which can be filtered.

#### Parameters

string | $grouping | grouping tells whom tags are to be shown: the tags of a user, of a group or of the viewables.
string | $groupingName | name of the grouping. if grouping is user, then its the username. if grouping is set to {@link GroupingEntity#ALL}, then its an empty string!
string | $regex | a regular expression used to filter the tagnames
string | $order | (frequency|alph)
int | $start |
int | $end |

#### Return Value

RESTClient |

###
at line 82
`RESTClient getTagDetails(string $tagName)`

/tags/[tag]

Returns details about a tag. Those details are:

- details about the tag itself, like number of occurrences etc
- list of subtags
- list of supertags
- list of correlated tags

#### Parameters

string | $tagName | name of the tag

#### Return Value

RESTClient |

###
at line 93
`RESTClient getTagRelation(int $start, int $end, string $relation, string $tagName)`

#### Parameters

int | $start |
int | $end |
string | $relation |
string | $tagName |

#### Return Value

RESTClient |

###
at line 111
`RESTClient getConcepts(string $resourceType, string $grouping, string $groupingName, string $regex, array $tags, string $status, int $start, int $end)`

/concepts

Retrieve relations

#### Parameters

string | $resourceType | the reqtested resourcetype
string | $grouping | grouping entity
string | $groupingName | the grouping name
string | $regex | a regex to possibly filter the relatons retrieved
array | $tags | a list of tags which shall be part of the relations
string | $status | the conceptstatus, i.e. all, picked or unpicked
int | $start | start index
int | $end | end index

#### Return Value

RESTClient |

###
at line 126
`RESTClient getConceptDetails(string $conceptName, string $userName)`

GET /users/[userName]/concepts/[conceptName] GET /concepts/[conceptName]

Retrieve Details for a concept, containing the belonging subTags.

#### Parameters

string | $conceptName | the supertag of the concept
string | $userName | the user name of the user the concept belongs to. If null, system-wide relations will be returned.

#### Return Value

RESTClient |

###
at line 142
`RESTClient createConcept(Tag $concept, string $conceptName, string $userName)`

POST /users/[userName]/concepts/[conceptName]

Create a new relation/concept note: if a concept already exists with the given name it will be replaced

#### Parameters

Tag | $concept | the tag containing subTags
string | $conceptName | the name of the super tag of the concept
string | $userName | the user name of the user the concept belongs to.

#### Return Value

RESTClient |

###
at line 155
`RESTClient updateConcept(Tag $concept, string $userName, string $operation)`

PUT /users/[username]/concepts/[conceptname]

Update an existing relation/concept

#### Parameters

Tag | $concept | the concept to update
string | $userName | name of the user who created the concept
string | $operation |

#### Return Value

RESTClient |

###
at line 168
`RESTClient deleteConcept(string $conceptName, string $userName)`

DELETE /users/[username]/concepts/[conceptName]

Delete an existing concept

#### Parameters

string | $conceptName | name of the concept to delete
string | $userName | name of user holding the concept

#### Return Value

RESTClient |