def add_prefixmap(self, map_name: str, include_defaults: bool= True) -> None: """ Add a prefixcommons map. Only prefixes that have not been previously defined are added. :param map_name: prefixcommons map name :param include_defaults: if True, take defaults from the map. :return: """ for k, v in curie_util.read_biocontext(map_name).items(): if not k: if include_defaults and not self._default: self._default = v elif k not in self: if NCName.is_valid(k): self[k] = v else: print(f"Warning: biocontext map {map_name} has illegal prefix: {k}", file=sys.stderr)
def visit_schema(self): # Add the list of curi maps for curie_map in self.schema.default_curi_maps: self.curi_maps.append(cu.read_biocontext(curie_map)) # Add any explicitly declared prefixes for prefix in self.schema.prefixes.values(): self.prefixmap[prefix.local_name] = prefix.prefix_uri # Add any prefixes explicitly declared self.add_id_prefixes(self.schema) # Add the default prefix base_prefix = self.default_uri() if base_prefix: self.prefixmap['@vocab'] = base_prefix self.prefixmap['@base'] = base_prefix
def add_prefixmap(self, map_name: str, include_defaults: bool = True) -> None: """ Add a prefixcommons map. Only prefixes that have not been previously defined are added. :param map_name: prefixcommons map name :param include_defaults: if True, take defaults from the map. :return: """ for k, v in curie_util.read_biocontext(map_name).items(): if not k: if include_defaults and not self._default: self._default = v elif k not in self: if is_ncname(k): self[k] = v else: logging.getLogger('Namespaces').info(f"biocontext map {map_name} has illegal prefix: {k}") pass
import json from dataclasses import dataclass from typing import NewType, List, Dict from prefixcommons import curie_util from ontobio.model import association from ontobio.rdfgen import relations import logging import copy prefix_context = { key: value for context in curie_util.default_curie_maps + [curie_util.read_biocontext("go_context")] for key, value in context.items() } aspect_relation_map = { "F": "http://purl.obolibrary.org/obo/RO_0002327", "P": "http://purl.obolibrary.org/obo/RO_0002331", "C": "http://purl.obolibrary.org/obo/BFO_0000050" } relation_aspect_map = { "http://purl.obolibrary.org/obo/RO_0002327": "F", "http://purl.obolibrary.org/obo/RO_0002326": "F", "http://purl.obolibrary.org/obo/RO_0002264": "P", "http://purl.obolibrary.org/obo/RO_0004032": "P", "http://purl.obolibrary.org/obo/RO_0004033": "P",
from rdflib import BNode from rdflib import Literal from rdflib import URIRef from rdflib.namespace import RDF from rdflib.namespace import RDFS from rdflib.namespace import OWL import rdflib import logging import uuid import re ro = OboRO() evt = Evidence() upt = UpperLevel() prefix_context = {key: value for context in curie_util.default_curie_maps + [curie_util.read_biocontext("minerva_context")] for key, value in context.items()} HAS_SUPPORTING_REFERENCE = URIRef(expand_uri(evt.has_supporting_reference, cmaps=[evt._prefixmap])) ENABLED_BY = URIRef(expand_uri(ro.enabled_by)) ENABLES = URIRef(expand_uri(ro.enables)) INVOLVED_IN = URIRef(expand_uri(ro.involved_in)) PART_OF = URIRef(expand_uri(ro.part_of)) OCCURS_IN = URIRef(expand_uri(ro.occurs_in)) COLOCALIZES_WITH = URIRef(expand_uri(ro.colocalizes_with)) MOLECULAR_FUNCTION = URIRef(expand_uri(upt.molecular_function)) def genid(base=None): return URIRef(str(uuid.uuid4()), base=base) class RdfWriter(object):
from rdflib import URIRef from rdflib.namespace import RDF from rdflib.namespace import RDFS from rdflib.namespace import OWL import rdflib import logging import uuid ro = OboRO() evt = Evidence() upt = UpperLevel() prefix_context = { key: value for context in curie_util.default_curie_maps + [curie_util.read_biocontext("minerva_context")] for key, value in context.items() } HAS_SUPPORTING_REFERENCE = URIRef( expand_uri(evt.has_supporting_reference, cmaps=[evt._prefixmap])) ENABLED_BY = URIRef(expand_uri(ro.enabled_by)) ENABLES = URIRef(expand_uri(ro.enables)) INVOLVED_IN = URIRef(expand_uri(ro.involved_in)) PART_OF = URIRef(expand_uri(ro.part_of)) OCCURS_IN = URIRef(expand_uri(ro.occurs_in)) COLOCALIZES_WITH = URIRef(expand_uri(ro.colocalizes_with)) MOLECULAR_FUNCTION = URIRef(expand_uri(upt.molecular_function))
def convert(input, output, contract, cmap): cmaps = [read_biocontext(x) for x in cmap] if cmaps == []: cmaps = None t = CsvTransformer(cmaps=cmaps, contract=contract) t.transform(input, output)
import logging from rdflib.namespace import RDF, RDFS from rdflib import Graph from rdflib.term import Node, BNode, Literal, URIRef from prefixcommons import curie_util from bidict import bidict prefix_map = curie_util.read_biocontext("go_context") def is_BNode(node: Node): return isinstance(node, BNode) def is_Literal(node: Node): return isinstance(node, Literal) def is_URIRef(node: Node): return isinstance(node, URIRef) def labels(graph: Graph, node: Node): results = None if not is_BNode(node): results = [o for o in graph.objects(node, RDFS.label)] return results def short_label(uri: URIRef): curie = curie_util.contract_uri(uri, prefix_map, strict=True)