provdbconnector package¶
Subpackages¶
- provdbconnector.db_adapters package
- provdbconnector.exceptions package
- provdbconnector.tests package
- provdbconnector.utils package
Submodules¶
provdbconnector.prov_db module¶
-
class
provdbconnector.prov_db.
ProvDb
(api_id=None, adapter=None, auth_info=None, *args)[source]¶ Bases:
object
The public api class. This class provide methods to save and get documents or part of ProvDocuments
-
save_document_from_json
(content=None)[source]¶ Saves a new document in the database
Parameters: content (str or buffer) – The content Returns: document_id Return type: str or buffer
-
get_document_as_json
(document_id=None)[source]¶ Get a ProvDocument from the database based on the document_id
Parameters: document_id (str) – document id Returns: ProvDocument as json string Return type: str
-
save_document_from_xml
(content=None)[source]¶ Saves a prov document in the database based on the xml file
Parameters: content (str or buffer) – The content Returns: document_id Return type: str
-
get_document_as_xml
(document_id=None)[source]¶ Get a ProvDocument from the database based on the document_id
Parameters: document_id (str) – The id Returns: ProvDocument as XML string Return type: str
-
save_document_from_provn
(content=None)[source]¶ Saves a prov document in the database based on the provn string or buffer
Parameters: content (str or buffer) – provn object Returns: Document_id Return type: str
-
get_document_as_provn
(document_id=None)[source]¶ Get a ProvDocument from the database based on the document_id
Parameters: document_id (str) – The id Returns: ProvDocument Return type: ProvDocument
-
save_document_from_prov
(content=None)[source]¶ Saves a prov document in the database based on the prov document
Parameters: content (ProvDocument) – Prov document Returns: document_id Return type: str
-
save_document
(content=None)[source]¶ The main method to Save a document in the db
Parameters: content (str or buffer or ProvDocument) – The content can be a xml, json or provn string or buffer or a ProvDocument instance Returns: Document id Return type: str
-
get_document_as_prov
(document_id=None)[source]¶ Get a ProvDocument from the database based on the document id
Parameters: document_id (str) – The id Returns: Prov Document Return type: ProvDocument
-
save_element
(prov_element, bundle_id=None)[source]¶ Saves a activity, entity, agent
doc = ProvDocument() agent = doc.agent("ex:yourAgent") activity = doc.activity("ex:yourActivity") entity = doc.entity("ex:yourEntity") # Save the elements agent_id = prov_db.save_element(agent) activity_id = prov_db.save_element(activity) entity_id = prov_db.save_element(entity)
Parameters: - prov_element (prov.model.ProvElement) – The ProvElement
- bundle_id (str) –
Returns: Identifier of the element
Return type: prov.model.QualifiedName
-
get_elements
(prov_element_cls)[source]¶ Return a document that contains the requested type
from prov.model import ProvEntity, ProvAgent, ProvActivity document_with_all_entities = prov_db.get_elements(ProvEntity) document_with_all_agents = prov_db.get_elements(ProvAgent) document_with_all_activities = prov_db.get_elements(ProvActivity) print(document_with_all_entities) print(document_with_all_agents) print(document_with_all_activities)
Parameters: prov_element_cls – Returns: Prov document :rtype prov.model.ProvDocument
-
get_element
(identifier)[source]¶ Get a element (activity, agent, entity) from the database
doc = ProvDocument() identifier = QualifiedName(doc, "ex:yourAgent") prov_element = prov_db.get_element(identifier)
Parameters: identifier (prov.model.QualifiedName) – Returns: A prov Element class
-
save_record
(prov_record, bundle_id=None)[source]¶ Saves a realtion or a element (Entity, Agent or Activity)
doc = ProvDocument() agent = doc.agent("ex:Alice") ass_rel = doc.association("ex:Alice", "ex:Bob") # Save the elements agent_id = prov_db.save_record(agent) relation_id = prov_db.save_record(ass_rel)
Parameters: prov_record – The prov record :type prov.model.ProvRecord :param bundle_id: The bundle id that you got back if you created a bundle or document :type str :return:
-
get_bundle
(identifier)[source]¶ Returns the whole bundle for the provided identifier
Parameters: identifier (prov.model.QualifiedName) – The identifier Returns: The prov bundle instance :rtype prov.model.ProvBundle
-
save_bundle
(prov_bundle)[source]¶ Public method to save a bundle
doc = ProvDocument() bundle = doc.bundle("ex:bundle1") # Save the bundle prov_db.save_bundle(bundle)
Parameters: prov_bundle (prov.model.ProvBundle) – Returns:
-
save_relation
(prov_relation, bundle_id=None)[source]¶ Saves a relation between 2 nodes that are already in the database.
doc = ProvDocument() activity = doc.activity("ex:yourActivity") entity = doc.entity("ex:yourEntity") wasGeneratedBy = entity.wasGeneratedBy("ex:yourAgent") # Save the elements rel_id = prov_db.save_relation(wasGeneratedBy)
Parameters: prov_relation (ProvRelation) – The ProvRelation instance :param bundle_id :type bundle_id: str :return: Relation id :rtype: str
-