Source code for PyOpenWorm.data_trans.bibtex

from rdflib.namespace import Namespace
from ..bibtex import parse_bibtex_into_evidence
from ..datasource import Informational, DataTranslator, DataSource
from .local_file_ds import LocalFileDataSource
from ..context import Context
from ..contextDataObject import ContextDataObject
from .. import CONTEXT
from .common_data import DS_NS
from .context_datasource import VariableIdentifierContext, VariableIdentifierContextDataObject


[docs]class EvidenceDataSource(DataSource): context_property = Informational(display_name='Context', property_name='evidence_context', property_type='ObjectProperty', description='The context') rdf_namespace = Namespace(DS_NS['EvidenceDataSource#']) def __init__(self, *args, **kwargs): super(EvidenceDataSource, self).__init__(*args, **kwargs) self.context = _EvidenceContext.contextualize(self.context)(maker=self, imported=(CONTEXT,)) self.context_property(self.evidence_context.rdf_object) def commit_augment(self): saved_contexts = set([]) self.data_context.save_context(inline_imports=True, saved_contexts=saved_contexts) self.context.save_context(inline_imports=True, saved_contexts=saved_contexts) self.context.save_imports()
class _EvidenceContext(VariableIdentifierContext): def identifier_helper(self): return self.maker.identifier + '-evidence'
[docs]class BibTexDataSource(LocalFileDataSource): def __init__(self, bibtex_file_name, **kwargs): super(BibTexDataSource, self).__init__(**kwargs) self.bibtex_file_name = bibtex_file_name
[docs]class BibTexDataTranslator(DataTranslator): input_type = BibTexDataSource output_type = EvidenceDataSource
[docs] def translate(data_source): evidences = parse_bibtex_into_evidence(data_source.bibtex_file_name) return evidences.values()
__yarom_mapped_classes__ = (BibTexDataSource, BibTexDataTranslator, EvidenceDataSource,)