def yield_class_triples_of_an_s(self, target_node, instantiation_property):
     for s, p, o in self._rdflib_graph.triples(
         (URIRef(
             remove_corners(a_uri=target_node,
                            raise_error_if_no_corners=False)),
          URIRef(
              remove_corners(a_uri=instantiation_property,
                             raise_error_if_no_corners=False)), None)):
         yield str(s), str(p), self._add_lang_if_needed(o)
 def _yield_remote_class_triples_of_an_s(self, target_node,
                                         instantiation_property):
     str_query = "SELECT {0} WHERE {{ <{1}> <{2}> {0} . }}".format(
         _DEF_OBJ_VARIABLE,
         remove_corners(a_uri=target_node, raise_error_if_no_corners=False),
         remove_corners(a_uri=instantiation_property,
                        raise_error_if_no_corners=False))
     for an_elem in query_endpoint_single_variable(
             endpoint_url=self._endpoint_url,
             str_query=str_query,
             variable_id=_DEF_OBJ_ID):
         yield (target_node, instantiation_property, an_elem)
def tune_token(a_token, allow_untyped_numbers=False, raise_error_if_no_corners=True, base_namespace=None):
    if a_token.startswith("<"):
        return IRI(remove_corners(a_uri=a_token,
                                  raise_error_if_no_corners=raise_error_if_no_corners))
    elif a_token.startswith('"'):
        content, elem_type = parse_literal(an_elem=a_token,
                                           base_namespace=base_namespace)
        return Literal(content=content,
                       elem_type=elem_type)
    elif a_token.startswith("_:"):
        return BNode(identifier=a_token[2:])
    elif a_token.strip() == "[]":
        return BNode(identifier=a_token)
    if allow_untyped_numbers:
        try:
            candidate_float = float(a_token)
            if _is_integer(candidate_float):
                return Literal(content=a_token.strip(),
                               elem_type=INTEGER_TYPE)
            return Literal(content=a_token.strip(),
                           elem_type=FLOAT_TYPE)
        except:
            pass

    content, elem_type = parse_unquoted_literal(a_token)
    return Literal(content=content,
                   elem_type=elem_type)
Example #4
0
def _parse_instantiation_prop(data, error_pool):
    candidate = _parse_str_param(data=data,
                                 error_pool=error_pool,
                                 key=INSTANTIATION_PROPERTY_PARAM,
                                 default_value=RDF_TYPE,
                                 opt_message="The default value is rdf:type")
    return remove_corners(a_uri=candidate, raise_error_if_no_corners=False)
Example #5
0
def create_IRIs_from_string_list(str_list):
    result = []
    for an_str in str_list:
        result.append(
            create_IRI_from_string(
                remove_corners(a_uri=an_str, raise_error_if_no_corners=False)))
    return result
 def _decide_instantiation_property(instantiation_property):
     if instantiation_property == None:
         return _RDF_TYPE
     if type(instantiation_property) == type(_RDF_TYPE):
         return instantiation_property
     if type(instantiation_property) == str:
         return Property(remove_corners(a_uri=instantiation_property,
                                        raise_error_if_no_corners=False))
     raise ValueError("Unrecognized param type to define instantiation property")
Example #7
0
def read_target_classes_from_file(file_target_classes):
    result = []
    with open(file_target_classes, "r") as in_stream:
        for a_line in in_stream:
            candidate = a_line.strip()
            if candidate != "":
                result.append(remove_corners(a_uri=candidate,
                                             raise_error_if_no_corners=False))
    return result
Example #8
0
 def _decide_instantiation_property(instantiation_property_str):
     if instantiation_property_str == None:
         return RDF_TYPE_STR
     if type(instantiation_property_str) == Property:
         return str(instantiation_property_str)
     if type(instantiation_property_str) == str:
         return remove_corners(a_uri=instantiation_property_str,
                               raise_error_if_no_corners=False)
     raise ValueError("Unrecognized param type to define instantiation property")
 def _yield_remote_s_p_triples_of_an_o(self, target_node):
     str_query = "SELECT {0} {1} WHERE {{ {0} {1} <{2}> .}}".format(
         _DEF_SUBJ_VARIABLE, _DEF_PRED_VARIABLE,
         remove_corners(a_uri=target_node, raise_error_if_no_corners=False))
     for a_tuple_sp in query_endpoint_sp_of_an_o(
             endpoint_url=self._endpoint_url,
             str_query=str_query,
             p_id=_DEF_PRED_ID,
             s_id=_DEF_SUBJ_ID):
         yield a_tuple_sp[0], a_tuple_sp[1], target_node
Example #10
0
 def _yield_remote_p_o_triples_of_an_s(self, target_node):
     str_query = "SELECT {0} {1} WHERE {{ <{2}> {0} {1} .}} ".format(
         _DEF_PRED_VARIABLE, _DEF_OBJ_VARIABLE,
         remove_corners(a_uri=target_node, raise_error_if_no_corners=False))
     for a_tuple_po in query_endpoint_po_of_an_s(
             endpoint_url=self._endpoint_url,
             str_query=str_query,
             p_id=_DEF_PRED_ID,
             o_id=_DEF_OBJ_ID):
         yield target_node, a_tuple_po[0], a_tuple_po[1]
Example #11
0
def tune_subj(a_token, raise_error_if_no_corners=True):
    if a_token.startswith("<"):
        return IRI(remove_corners(a_uri=a_token,
                                  raise_error_if_no_corners=raise_error_if_no_corners))
    elif a_token.startswith("_:"):
        return BNode(identifier=a_token[2:])
    elif a_token.strip() == "[]":
        return BNode(identifier=a_token)

    else:  # ???
        raise ValueError("Unrecognized token in subject position: " + a_token)
Example #12
0
def tune_target_classes_if_needed(list_target_classes, prefix_namespaces_dict):
    result = []
    for a_original_class in list_target_classes:
        if a_original_class.startswith("<"):
            result.append(remove_corners(a_uri=a_original_class))
        else:
            result.append(
                unprefixize_uri_if_possible(
                    target_uri=a_original_class,
                    prefix_namespaces_dict=prefix_namespaces_dict))
    return result
Example #13
0
def tune_subj(a_token):
    if a_token.startswith("<"):
        return IRI(remove_corners(a_token))
    elif a_token.startswith('"'):
        content, elem_type = parse_literal(a_token)
        return Literal(content=content, elem_type=elem_type)
    elif a_token.startswith("_:"):
        return BNode(identifier=a_token[2:])
    elif a_token.strip() == "[]":
        return BNode(identifier=a_token)

    else:  # ???
        content, elem_type = parse_unquoted_literal(a_token)
        return Literal(content=content, elem_type=elem_type)
Example #14
0
 def _process_base_line(self, line):
     pieces = line.split(" ")
     # base_url = pieces[1] if not pieces[1].endswith(":") else pieces[1][: - 1]
     # base_url = remove_corners(pieces[2])
     self._base = remove_corners(pieces[1])
Example #15
0
 def _process_prefix_line(self, line):
     pieces = line.split(" ")
     prefix = pieces[1] if not pieces[1].endswith(":") else pieces[1][:-1]
     base_url = remove_corners(pieces[2])
     self._prefixes[prefix] = base_url
Example #16
0
def tune_prop(a_token, raise_error_if_no_corners=True):
    return Property(remove_corners(a_uri=a_token,
                                   raise_error_if_no_corners=raise_error_if_no_corners))
Example #17
0
def tune_prop(a_token):
    return Property(remove_corners(a_token))
Example #18
0
 def yield_p_o_triples_of_an_s(self, target_node):
     for s, p, o in self._rdflib_graph.triples((URIRef(
             remove_corners(a_uri=target_node,
                            raise_error_if_no_corners=False)), None, None)):
         yield str(s), str(p), self._add_lang_if_needed(o)
Example #19
0
 def _parse_unprefixed_node_selector(self, raw_selector):
     return NodeSelectorNoSparql(raw_selector=raw_selector,
                                 target_node=remove_corners(raw_selector),
                                 sgraph=self._sgraph)
Example #20
0
def tune_target_classes_if_needed(list_target_classes):
    result = []
    for a_original_class in list_target_classes:
        result.append(remove_corners(a_uri=a_original_class,
                                     raise_error_if_no_corners=False))
    return result