Python rdflib.Graph() Examples
The following are 30
code examples of rdflib.Graph().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
rdflib
, or try the search function
.
Example #1
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_access_url(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.accessURL, Literal('http://access.url.org'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['url'], u'http://access.url.org') assert 'download_url' not in resource
Example #2
Source File: clone.py From pySHACL with Apache License 2.0 | 6 votes |
def mix_datasets(base_ds, extra_ds, target_ds=None): default_union = base_ds.default_union base_named_graphs = base_ds.contexts() if target_ds is None: target_ds = rdflib.Dataset(default_union=default_union) if isinstance(extra_ds, (rdflib.Dataset, rdflib.ConjunctiveGraph)): mixin_graphs = list(extra_ds.contexts()) else: mixin_graphs = [extra_ds] mixed_graphs = [] for mg in mixin_graphs: mod_named_graphs = [mix_graphs(g, mg, target_graph=rdflib.Graph(store=target_ds.store, identifier=g.identifier)) for g in base_named_graphs] mixed_graphs.extend(mod_named_graphs) default_context_id = target_ds.default_context.identifier for m in mixed_graphs: if m.identifier == default_context_id: target_ds.store.remove_graph(target_ds.default_context) target_ds.default_context = m target_ds.add_graph(m) return target_ds
Example #3
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_both_access_and_download_url(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.accessURL, Literal('http://access.url.org'))) g.add((distribution1_1, DCAT.downloadURL, Literal('http://download.url.org'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['url'], u'http://access.url.org') eq_(resource['download_url'], u'http://download.url.org')
Example #4
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_format_only(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCT['format'], Literal('CSV'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['format'], u'CSV')
Example #5
Source File: stringify.py From pySHACL with Apache License 2.0 | 6 votes |
def stringify_node(graph, node, ns_manager=None, recursion=0): if ns_manager is None: ns_manager = graph.namespace_manager if isinstance(ns_manager, rdflib.Graph): #json-ld loader can set namespace_manager to the conjunctive graph itself. ns_manager = ns_manager.namespace_manager ns_manager.bind("sh", SH, override=False, replace=False) if isinstance(node, rdflib.Literal): return stringify_literal(graph, node, ns_manager=ns_manager) if isinstance(node, rdflib.BNode): if isinstance(graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)): graph = find_node_named_graph(graph, node) return stringify_blank_node(graph, node, ns_manager=ns_manager, recursion=recursion+1) if isinstance(node, rdflib.URIRef): return node.n3(namespace_manager=ns_manager) else: node_string = str(node) return node_string
Example #6
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_imt_only(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.mediaType, Literal('text/csv'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] if toolkit.check_ckan_version(min_version='2.3'): eq_(resource['format'], u'CSV') eq_(resource['mimetype'], u'text/csv') else: eq_(resource['format'], u'text/csv')
Example #7
Source File: test_crypto.py From pyaff4 with Apache License 2.0 | 6 votes |
def testDecrypt(self): g = rdflib.Graph() g.parse(data=keybagturtle, format="turtle") kb = keybag.PasswordWrappedKeyBag.load(g) key = "password" kek = digest.pbkdf2_hmac("sha256", key, kb.salt, kb.iterations, kb.keySizeBytes); vek = aes_unwrap_key(kek, kb.wrappedKey) key1 = vek[0:16] key2 = vek[16:] tweak = codecs.decode('00', 'hex') cipher = python_AES.new((key1, key2), python_AES.MODE_XTS) text = cipher.decrypt(target_ciphertext, tweak) self.assertEqual(src[0:len(src)], text[0:len(src)])
Example #8
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_imt_only_normalize_false(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.mediaType, Literal('text/csv'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['format'], u'text/csv') eq_(resource['mimetype'], u'text/csv')
Example #9
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_format_only_normalize_false(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCT['format'], Literal('CSV'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['format'], u'CSV') assert 'mimetype' not in resource
Example #10
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_unknown_imt(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.mediaType, Literal('text/unknown-imt'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['format'], u'text/unknown-imt') eq_(resource['mimetype'], u'text/unknown-imt')
Example #11
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_format_format_normalized(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.mediaType, Literal('text/csv'))) g.add((distribution1_1, DCT['format'], Literal('Comma Separated Values'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] if toolkit.check_ckan_version(min_version='2.3'): eq_(resource['format'], u'CSV') eq_(resource['mimetype'], u'text/csv') else: eq_(resource['format'], u'Comma Separated Values')
Example #12
Source File: test_interactions.py From dipper with BSD 3-Clause "New" or "Revised" License | 6 votes |
def setUp(self): self.graph = Graph() self.curie_map = curie_map.get() self.ctd = CTD('rdf_graph', True) self.ctd.g = self.ctd.graph row1 = [ '06-Paris-LA-66 protocol', 'C046983', 'foo', 'Precursor Cell Lymphoblastic Leukemia-Lymphoma', 'MESH:D054198', 'therapeutic', 'bar', 'baz', 'foo', '4519131'] row2 = [ '10,10-bis(4-pyridinylmethyl)-9(10H)-anthracenone', 'C112297', 'foo', 'Hyperkinesis', 'MESH:D006948', 'marker/mechanism', 'bar', 'baz', 'foo', '19098162'] self.ctd._process_interactions(row1) self.ctd._process_interactions(row2)
Example #13
Source File: prov.py From grlc with MIT License | 6 votes |
def __init__(self, user, repo): """Default constructor. Keyword arguments: user -- Github user. repo -- Github repo. """ self.user = user self.repo = repo self.prov_g = Graph() prov_uri = URIRef("http://www.w3.org/ns/prov#") self.prov = Namespace(prov_uri) self.prov_g.bind('prov', self.prov) self.agent = URIRef("http://{}".format(static.SERVER_NAME)) self.entity_d = URIRef("http://{}/api/{}/{}/spec".format(static.SERVER_NAME, self.user, self.repo)) self.activity = URIRef(self.entity_d + "-activity") self.init_prov_graph()
Example #14
Source File: clone.py From pySHACL with Apache License 2.0 | 6 votes |
def clone_graph(source_graph, target_graph=None, identifier=None): """ Make a clone of the source_graph by directly copying triples from source_graph to target_graph :param source_graph: :type source_graph: rdflib.Graph :param target_graph: :type target_graph: rdflib.Graph|None :param identifier: :type identifier: str | None :return: The cloned graph :rtype: rdflib.Graph """ if isinstance(source_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): return clone_dataset(source_graph, target_ds=target_graph) if target_graph is None: g = rdflib.Graph(identifier=identifier) for p, n in source_graph.namespace_manager.namespaces(): g.namespace_manager.bind(p, n, override=True, replace=True) else: g = target_graph for p, n in source_graph.namespace_manager.namespaces(): g.namespace_manager.bind(p, n, override=False, replace=False) for t in iter(source_graph): g.add(t) return g
Example #15
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_distribution_download_url(self): g = Graph() dataset1 = URIRef("http://example.org/datasets/1") g.add((dataset1, RDF.type, DCAT.Dataset)) distribution1_1 = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution1_1, RDF.type, DCAT.Distribution)) g.add((distribution1_1, DCAT.downloadURL, Literal('http://download.url.org'))) g.add((dataset1, DCAT.distribution, distribution1_1)) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g datasets = [d for d in p.datasets()] resource = datasets[0]['resources'][0] eq_(resource['url'], u'http://download.url.org') eq_(resource['download_url'], u'http://download.url.org')
Example #16
Source File: validate.py From pySHACL with Apache License 2.0 | 6 votes |
def meta_validate(shacl_graph, inference='rdfs', **kwargs): shacl_shacl_graph = meta_validate.shacl_shacl_graph if shacl_shacl_graph is None: from os import path import pickle import sys if getattr( sys, 'frozen', False ) : # runs in a pyinstaller bundle here_dir = sys._MEIPASS pickle_file = path.join(here_dir, "shacl-shacl.pickle") else : here_dir = path.dirname(__file__) pickle_file = path.join(here_dir, "shacl-shacl.pickle") with open(pickle_file, 'rb') as shacl_pickle: u = pickle.Unpickler(shacl_pickle, fix_imports=False) shacl_shacl_store = u.load() shacl_shacl_graph = rdflib.Graph(store=shacl_shacl_store, identifier="http://www.w3.org/ns/shacl-shacl") meta_validate.shacl_shacl_graph = shacl_shacl_graph shacl_graph = load_from_source(shacl_graph, rdf_format=kwargs.pop('shacl_graph_format', None), multigraph=True) _ = kwargs.pop('meta_shacl', None) return validate(shacl_graph, shacl_graph=shacl_shacl_graph, inference=inference, **kwargs)
Example #17
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_dataset_license_from_distribution_by_title(self): # license_id retrieved from dct:title of dcat:license object g = Graph() dataset = URIRef("http://example.org/datasets/1") g.add((dataset, RDF.type, DCAT.Dataset)) distribution = URIRef("http://example.org/datasets/1/ds/1") g.add((distribution, RDF.type, DCAT.Distribution)) g.add((dataset, DCAT.distribution, distribution)) license = BNode() g.add((distribution, DCT.license, license)) g.add((license, DCT.title, Literal("Creative Commons Attribution"))) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g dataset = [d for d in p.datasets()][0] eq_(dataset['license_id'], 'cc-by')
Example #18
Source File: test_euro_dcatap_profile_parse.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def test_dataset_license_from_distribution_by_uri(self): # license_id retrieved from the URI of dcat:license object g = Graph() dataset = URIRef("http://example.org/datasets/1") g.add((dataset, RDF.type, DCAT.Dataset)) distribution = URIRef("http://example.org/datasets/1/ds/1") g.add((dataset, DCAT.distribution, distribution)) g.add((distribution, RDF.type, DCAT.Distribution)) g.add((distribution, DCT.license, URIRef("http://www.opendefinition.org/licenses/cc-by"))) p = RDFParser(profiles=['euro_dcat_ap']) p.g = g dataset = [d for d in p.datasets()][0] eq_(dataset['license_id'], 'cc-by')
Example #19
Source File: shapes_graph.py From pySHACL with Apache License 2.0 | 6 votes |
def __init__(self, graph, logger=None): """ ShapesGraph :param graph: :type graph: rdflib.Graph :param logger: :type logger: logging.Logger|None """ assert isinstance(graph, (rdflib.Dataset, rdflib.ConjunctiveGraph, rdflib.Graph)) self.graph = graph if isinstance(self.graph, rdflib.Dataset): self.graph.default_union = True if logger is None: logger = logging.getLogger(__name__) self.logger = logger self._node_shape_cache = {} self._shapes = None self._custom_constraints = None self._add_system_triples()
Example #20
Source File: sparql_based_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ reports = [] non_conformant = False for query_helper in self.sparql_constraints: if query_helper.deactivated: continue _nc, _r = self._evaluate_sparql_constraint( query_helper, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports
Example #21
Source File: profiles.py From daf-recipes with GNU General Public License v3.0 | 6 votes |
def __init__(self, graph, compatibility_mode=False): '''Class constructor Graph is an rdflib.Graph instance. In compatibility mode, some fields are modified to maintain compatibility with previous versions of the ckanext-dcat parsers (eg adding the `dcat_` prefix or storing comma separated lists instead of JSON dumps). ''' self.g = graph self.compatibility_mode = compatibility_mode # Cache for mappings of licenses URL/title to ID built when needed in # _license(). self._licenceregister_cache = None
Example #22
Source File: cardinality_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ min_count = int(self.min_count.value) if min_count == 0: # MinCount of zero always passes return True, [] reports = [] non_conformant = False for f, value_nodes in focus_value_nodes.items(): flag = len(value_nodes) >= min_count if not flag: non_conformant = True rept = self.make_v_result(target_graph, f) reports.append(rept) return (not non_conformant), reports
Example #23
Source File: cardinality_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ max_count = int(self.max_count.value) reports = [] non_conformant = False for f, value_nodes in focus_value_nodes.items(): flag = len(value_nodes) <= max_count if not flag: non_conformant = True rept = self.make_v_result(target_graph, f) reports.append(rept) return (not non_conformant), reports
Example #24
Source File: __init__.py From OpenMTC with Eclipse Public License 1.0 | 6 votes |
def _check_update_representation(self): super(SemanticDescriptorController, self)._check_update_representation() values = self.request.content.get_values(True) if all(k in values for k in ("semanticOpExec", "descriptor")): # check if both attribute exist at the same time raise CSEContentsUnacceptable("bad request: both semanticOpExec and descriptor exist") elif "descriptor" in values: # verify if the descriptor conform to the RDF syntax or not self._check_descriptor_data(self.values["descriptor"]) elif "semanticOpExec" in values: # verify if the semanticOpExec has a correct SPAROL syntax g = Graph() try: g.parse(values["semanticOpExec"]) except ParseException: raise CSEContentsUnacceptable("The semanticOpExec attribute does not conform to " "the SPARQL query syntax.") else: raise CSESyntaxError("Please provide an updated descriptor or a semanticOpExec")
Example #25
Source File: string_based_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ reports = [] non_conformant = False for r in self.string_rules: _nc, _r = self._evaluate_string_rule(r, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) if not self.allow_multi_rules: break return (not non_conformant), reports
Example #26
Source File: helpers.py From pySHACL with Apache License 2.0 | 6 votes |
def __init__(self, base, sht_graph, node, includes, entries=None, label=None): """ Manifest constructor :param base: string :type base: the "file://x" location uri of the base manifest graph :param sht_graph: :type sht_graph: rdflib.Graph :param node: The Graph Node of the manifest itself. (unused) :type node: rdflib.term.Identifier :param includes: :type includes: list(Manifest) :param entries: :type entries: list | None :param label: """ self.base = base self.sht_graph = sht_graph self.node = node self.includes = includes self.entries = entries self.label = label
Example #27
Source File: property_pair_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ reports = [] non_conformant = False for lt in iter(self.property_compare_set): if isinstance(lt, rdflib.Literal) or\ isinstance(lt, rdflib.BNode): raise ReportableRuntimeError( "Value of sh:lessThan MUST be a URI Identifier.") _nc, _r = self._evaluate_less_than(lt, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports
Example #28
Source File: property_pair_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ reports = [] non_conformant = False for lt in iter(self.property_compare_set): if isinstance(lt, rdflib.Literal) or\ isinstance(lt, rdflib.BNode): raise ReportableRuntimeError( "Value of sh:lessThanOrEquals MUST be a URI Identifier.") _nc, _r = self._evaluate_ltoe(lt, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports
Example #29
Source File: other_constraints.py From pySHACL with Apache License 2.0 | 6 votes |
def evaluate(self, target_graph, focus_value_nodes, _evaluation_path): """ :type focus_value_nodes: dict :type target_graph: rdflib.Graph """ reports = [] non_conformant = False in_vals = self.in_vals for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: if v not in in_vals: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return (not non_conformant), reports
Example #30
Source File: helpers.py From pySHACL with Apache License 2.0 | 6 votes |
def __init__(self, node, sht_graph, result_node, data_graph, shapes_graph, label=None, status=None): """ :param sht_graph: :type sht_graph: rdflib.Graph :param data_graph: :type data_graph: rdflib.Graph :param shapes_graph: :type shapes_graph: rdflib.Graph :param label: """ self.node = node self.sht_graph = sht_graph self.sht_result = result_node self.data_graph = data_graph self.shapes_graph = shapes_graph self.label = label self.status = status