API Documentation¶
Providers module¶
- class skosprovider_heritagedata.providers.HeritagedataProvider(metadata, **kwargs)[source]¶
A provider that can work with the Heritagedata services of http://www.heritagedata.org/blog/services/
- expand(id)[source]¶
- Expand a concept or collection to all it’s narrower concepts.
- If the id passed belongs to a skosprovider.skos.Concept, the id of the concept itself should be include in the return value.
Parameters: id (str) – A concept or collection id. Returns: A lst of id’s. Returns false if the input id does not exists
- find(query)[source]¶
Find concepts that match a certain query.
Currently query is expected to be a dict, so that complex queries can be passed. You can use this dict to search for concepts or collections with a certain label, with a certain type and for concepts that belong to a certain collection.
# Find anything that has a label of church. provider.find({'label': 'church'} # Find all concepts that are a part of collection 5. provider.find({'type': 'concept', 'collection': {'id': 5}) # Find all concepts, collections or children of these # that belong to collection 5. provider.find({'collection': {'id': 5, 'depth': 'all'})
Parameters: query – A dict that can be used to express a query. The following keys are permitted:
- label: Search for something with this label value. An empty label is equal to searching for all concepts.
- type: Limit the search to certain SKOS elements. If not present all is assumed:
- concept: Only return skosprovider.skos.Concept instances.
- collection: Only return skosprovider.skos.Collection instances.
- all: Return both skosprovider.skos.Concept and skosprovider.skos.Collection instances.
- collection: Search only for concepts belonging to a certain collection. This argument should be a dict with two keys:
- id: The id of a collection. Required.
- depth: Can be members or all. Optional. If not present, members is assumed, meaning only concepts or collections that are a direct member of the collection should be considered. When set to all, this method should return concepts and collections that are a member of the collection or are a narrower concept of a member of the collection.
Returns: A lst of concepts and collections. Each of these is a dict with the following keys: - id: id within the conceptscheme
- uri: uri of the concept or collection
- type: concept or collection
- label: A label to represent the concept or collection. It is determined by looking at the **kwargs parameter, the default language of the provider and finally falls back to en.
- get_all()[source]¶
Not supported: This provider does not support this. The amount of results is too large
- get_by_id(id)[source]¶
Get a skosprovider.skos.Concept or skosprovider.skos.Collection by id
Parameters: id ((str)) – integer id of the skosprovider.skos.Concept or skosprovider.skos.Concept Returns: corresponding skosprovider.skos.Concept or skosprovider.skos.Concept. Returns None if non-existing id
- get_by_uri(uri)[source]¶
Get a skosprovider.skos.Concept or skosprovider.skos.Collection by uri
Parameters: uri ((str)) – string uri of the skosprovider.skos.Concept or skosprovider.skos.Concept Returns: corresponding skosprovider.skos.Concept or skosprovider.skos.Concept. Returns None if non-existing id
- get_children_display(id)[source]¶
Return a list of concepts or collections that should be displayed under this concept or collection.
Parameters: id (str) – A concept or collection id. Returns: A lst of concepts and collections.