Example #1
0
    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
Example #3
0
    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
Example #4
0
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",
Example #5
0
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):
Example #6
0
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))

Example #7
0
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)
Example #8
0
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)