Python rdflib.ConjunctiveGraph() Examples
The following are 30
code examples of rdflib.ConjunctiveGraph().
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: 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 #2
Source File: test_empty_values.py From pycsvw with Apache License 2.0 | 6 votes |
def test_empty_boolean(): csvw = CSVW(csv_path="tests/empty.csv", metadata_path="tests/empty.bool.csv-metadata.json") rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") assert len(g) == 2 assert len(list(g.triples((None, None, Literal(False))))) == 2 csvw = CSVW(csv_path="tests/empty.csv", metadata_path="tests/empty.invalid_base.csv-metadata.json") rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") assert len(g) == 0
Example #3
Source File: graph.py From open-context-py with GNU General Public License v3.0 | 6 votes |
def make_graph_from_json_ld(json_ld, id=None): """Returns a graph made from JSON-LD.""" if isinstance(json_ld, dict): if not id and 'id' in json_ld: # ID for graph is in the JSON-LD id = json_ld['id'] elif not id and '@id' in json_ld: # ID for graph is in the JSON-LD id = json_ld['@id'] json_ld = json.dumps(json_ld, ensure_ascii=False) if isinstance(id, str): id = URIRef(id) try: g = ConjunctiveGraph().parse( data=json_ld, publicID=id, format='json-ld') except: return None return g
Example #4
Source File: test_datatypes.py From pycsvw with Apache License 2.0 | 6 votes |
def test_time(): with CSVW(csv_path="tests/datatypes.time.csv", metadata_path="tests/datatypes.time.csv-metadata.json") as csvw: rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") NS = Namespace('https://www.example.org/') time1_lit = Literal("19:30:00", datatype=XSD.time) assert len(list(g.triples((NS['event/1'], NS['time1'], time1_lit)))) == 1 time2_lit = Literal("09:30:10.5", datatype=XSD.time) assert len(list(g.triples((NS['event/1'], NS['time2'], time2_lit)))) == 1 time3_lit = Literal("10:30:10Z", datatype=XSD.time) assert len(list(g.triples((NS['event/1'], NS['time3'], time3_lit)))) == 1 time4_lit = Literal("11:30:10-06:00", datatype=XSD.time) assert len(list(g.triples((NS['event/1'], NS['time4'], time4_lit)))) == 1 time5_lit = Literal("04:30:10+04:00", datatype=XSD.time) assert len(list(g.triples((NS['event/1'], NS['time5'], time5_lit)))) == 1
Example #5
Source File: genotype_phenotype.py From ga4gh-server with Apache License 2.0 | 6 votes |
def __init__(self, parentContainer, localId, dataDir): """ Initialize dataset, using the passed dict of sources [{source,format}] see rdflib.parse() for more If path is set, this backend will load itself """ super(RdfPhenotypeAssociationSet, self).__init__( parentContainer, localId) # initialize graph self._rdfGraph = rdflib.ConjunctiveGraph() # save the path self._dataUrl = dataDir self._scanDataFiles(dataDir, ['*.ttl']) # extract version cgdTTL = rdflib.URIRef("http://data.monarchinitiative.org/ttl/cgd.ttl") versionInfo = rdflib.URIRef( u'http://www.w3.org/2002/07/owl#versionInfo') self._version = None for _, _, obj in self._rdfGraph.triples((cgdTTL, versionInfo, None)): self._version = obj.toPython()
Example #6
Source File: test_datatypes.py From pycsvw with Apache License 2.0 | 6 votes |
def test_date(): with CSVW(csv_path="tests/datatypes.date.csv", metadata_path="tests/datatypes.date.csv-metadata.json") as csvw: rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") date1_lit = Literal("2017-01-09", datatype=XSD.date) assert len(list(g.triples((NS['event/1'], NS['date1'], date1_lit)))) == 1 date2_lit = Literal("2017-01-10Z", datatype=XSD.date) assert len(list(g.triples((NS['event/1'], NS['date2'], date2_lit)))) == 1 date3_lit = Literal("2017-01-11", datatype=XSD.date) assert len(list(g.triples((NS['event/1'], NS['date3'], date3_lit)))) == 1 date4_lit = Literal("2002-09-24-06:00", datatype=XSD.date) assert len(list(g.triples((NS['event/1'], NS['date4'], date4_lit)))) == 1 date5_lit = Literal("2002-09-24+04:00", datatype=XSD.date) assert len(list(g.triples((NS['event/1'], NS['date5'], date5_lit)))) == 1
Example #7
Source File: test_datatypes.py From pycsvw with Apache License 2.0 | 6 votes |
def test_bool_with_format(): csvw = CSVW(csv_path="tests/datatypes.bool.csv", metadata_path="tests/datatypes.bool.csv-metadata.json") rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") true_lit = Literal(True, datatype=XSD.boolean) false_lit = Literal(False, datatype=XSD.boolean) assert len(list(g.triples((NS['event/1'], NS['bool1'], true_lit)))) == 1 assert len(list(g.triples((NS['event/1'], NS['bool2'], true_lit)))) == 1 assert len(list(g.triples((NS['event/1'], NS['bool3'], true_lit)))) == 1 assert len(list(g.triples((NS['event/2'], NS['bool1'], false_lit)))) == 1 assert len(list(g.triples((NS['event/2'], NS['bool2'], false_lit)))) == 1 assert len(list(g.triples((NS['event/2'], NS['bool3'], false_lit)))) == 1 assert len(list(g.triples((NS['event/3'], NS['bool1'], false_lit)))) == 1 assert len(list(g.triples((NS['event/3'], NS['bool2'], false_lit)))) == 1 assert len(list(g.triples((NS['event/3'], NS['bool3'], false_lit)))) == 1
Example #8
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 #9
Source File: validate.py From pySHACL with Apache License 2.0 | 6 votes |
def __init__(self, data_graph, *args, shacl_graph=None, ont_graph=None, options=None, **kwargs): options = options or {} self._load_default_options(options) self.options = options self.logger = options['logger'] self.pre_inferenced = kwargs.pop('pre_inferenced', False) assert isinstance(data_graph, rdflib.Graph),\ "data_graph must be a rdflib Graph object" self.data_graph = data_graph self._target_graph = None self.ont_graph = ont_graph self.data_graph_is_multigraph = isinstance(self.data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)) if self.ont_graph is not None and \ isinstance(self.ont_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): self.ont_graph.default_union = True if shacl_graph is None: shacl_graph = clone_graph(data_graph, identifier='shacl') assert isinstance(shacl_graph, rdflib.Graph),\ "shacl_graph must be a rdflib Graph object" self.shacl_graph = ShapesGraph(shacl_graph, self.logger)
Example #10
Source File: test_null_values.py From pycsvw with Apache License 2.0 | 6 votes |
def test_null_values_with_multiple_strings(): csvw = CSVW(csv_path="tests/null1.csv", metadata_path="tests/null1.multiple.csv-metadata.json") rdf_contents = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_contents, format="turtle") all_objects = {x for x in g.objects()} assert Literal('null_key', datatype=XSD.token) not in all_objects assert Literal('null_sector') not in all_objects assert Literal('null_id', datatype=XSD.token) not in all_objects for id in ['10', '11', '12', '13']: assert Literal(id, datatype=XSD.token) not in all_objects all_preds = {x for x in g.predicates()} assert id_uri not in all_preds assert Literal('1', datatype=XSD.token) not in all_objects
Example #11
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 #12
Source File: clone.py From pySHACL with Apache License 2.0 | 6 votes |
def clone_dataset(source_ds, target_ds=None): if target_ds and not isinstance(target_ds, (rdflib.Dataset, rdflib.ConjunctiveGraph)): raise RuntimeError("when cloning a dataset, the target_ds must be a conjunctiveGraph or rdflib Dataset.") default_union = source_ds.default_union if target_ds is None: target_ds = rdflib.Dataset(default_union=default_union) named_graphs = [ rdflib.Graph(source_ds.store, i, namespace_manager=source_ds.namespace_manager) if not isinstance(i, rdflib.Graph) else i for i in source_ds.store.contexts(None) ] cloned_graphs = [ clone_graph(ng, rdflib.Graph(target_ds.store, ng.identifier, namespace_manager=target_ds.namespace_manager)) for ng in named_graphs ] default_context_id = target_ds.default_context.identifier for g in cloned_graphs: if g.identifier == default_context_id: target_ds.store.remove_graph(target_ds.default_context) target_ds.default_context = g target_ds.add_graph(g) return target_ds
Example #13
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 #14
Source File: test_multiple_tables.py From pycsvw with Apache License 2.0 | 6 votes |
def verify_rdf(rdf_output): ids_ns = Namespace("http://foo.example.org/CSV/People-IDs/") ages_ns = Namespace("http://foo.example.org/CSV/People-Ages/") g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") all_subjects = {x for x in g.subjects()} assert len(all_subjects) == 2 bob_subj = ids_ns['1'] joe_subj = ids_ns['2'] assert bob_subj in all_subjects assert joe_subj in all_subjects # Bob's details assert len([g.triples((bob_subj, ids_ns.id, Literal(1)))]) == 1 assert len([g.triples((bob_subj, ids_ns.name, Literal("Bob")))]) == 1 assert len([g.triples((bob_subj, ages_ns.age, Literal(34)))]) == 1 # Joe's details assert len([g.triples((joe_subj, ids_ns.id, Literal(2)))]) == 1 assert len([g.triples((joe_subj, ids_ns.name, Literal("Joe")))]) == 1 assert len([g.triples((joe_subj, ages_ns.age, Literal(54)))]) == 1
Example #15
Source File: datatypes.py From arches with GNU Affero General Public License v3.0 | 6 votes |
def to_rdf(self, edge_info, edge): g = Graph() def _add_resource(d, p, r, r_type): if r_type is not None: g.add((r, RDF.type, URIRef(r_type))) g.add((d, URIRef(p), r)) if edge_info["range_tile_data"] is not None: res_insts = edge_info["range_tile_data"] if not isinstance(res_insts, list): res_insts = [res_insts] for res_inst in res_insts: rangenode = self.get_rdf_uri(None, res_inst) try: res_inst_obj = models.ResourceInstance.objects.get(pk=res_inst["resourceId"]) r_type = res_inst_obj.graph.node_set.get(istopnode=True).ontologyclass except models.ResourceInstance.DoesNotExist: # This should never happen excpet if trying to export when the # referenced resource hasn't been saved to the database yet r_type = edge.rangenode.ontologyclass _add_resource(edge_info["d_uri"], edge.ontologyproperty, rangenode, r_type) return g
Example #16
Source File: test_encoding.py From pycsvw with Apache License 2.0 | 6 votes |
def test_encoding_rdf(): # With encoding specified encoding = "ISO-8859-1" csvw = CSVW(csv_path="./tests/iso_encoding.csv", metadata_path="./tests/iso_encoding.csv-metadata.json", csv_encoding=encoding) rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") units = Namespace('http://example.org/units/') cars = Namespace('http://example.org/cars/') meta = Namespace("http://example.org/properties/") expected_unit = units[quote(u"\xb5100".encode('utf-8'))] assert (cars['1'], meta['UnitOfMeasurement'], expected_unit) in g assert expected_unit in list(g.objects())
Example #17
Source File: db_utils.py From forte with Apache License 2.0 | 5 votes |
def parse_graph(self, data: str, tuple_format: str) -> List: if self.format == 'nquads': g_ = rdflib.ConjunctiveGraph() else: g_ = rdflib.Graph() g_.parse(data=data, format=tuple_format) if self.format == 'nquads': return list(g_.quads()) else: return list(g_)
Example #18
Source File: test_new_lines_and_escapes.py From pycsvw with Apache License 2.0 | 5 votes |
def test_literals_with_new_lines(): csv_path = "tests/parsing.quoted_newlines.csv" metadata_path = "tests/parsing.quoted_newlines.csv-metadata.json" csvw = CSVW(csv_path=csv_path, metadata_path=metadata_path) rdf_contents = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_contents, format="turtle") ns = Namespace("http://example.org/expense/") desc = URIRef("http://example.org/desc") taxi_triples = list(g.triples((ns['taxi'], desc, None))) assert len(taxi_triples) == 1 taxi_desc = taxi_triples[0][2] assert isinstance(taxi_desc, Literal) assert len(taxi_desc.value.splitlines()) == 2 flight = URIRef("http://example.org/expense/multi-hop%20flight") flight_triples = list(g.triples((flight, desc, None))) assert len(flight_triples) == 1 flight_desc = flight_triples[0][2] assert isinstance(flight_desc, Literal) assert len(flight_desc.value.splitlines()) == 4 dinner_triples = list(g.triples((ns['dinner'], desc, None))) assert len(dinner_triples) == 1 dinner_desc = dinner_triples[0][2] assert isinstance(dinner_desc, Literal) assert u'\u2019' in dinner_desc, "Expected to read unicode characters" assert u"('')" in dinner_desc, "Expected to read apostrophes"
Example #19
Source File: test_new_lines_and_escapes.py From pycsvw with Apache License 2.0 | 5 votes |
def test_literals_with_escaped_quotes(): csv_path = "tests/parsing.escaped_quotes.csv" metadata_path = "tests/parsing.escaped_quotes.csv-metadata.json" csvw = CSVW(csv_path=csv_path, metadata_path=metadata_path) rdf_contents = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_contents, format="turtle") ns = Namespace("http://example.org/expense/") desc = URIRef("http://example.org/desc") taxi_triples = list(g.triples((ns['taxi'], desc, None))) assert len(taxi_triples) == 1 taxi_desc = taxi_triples[0][2] assert isinstance(taxi_desc, Literal) assert taxi_desc.value == "go from x to y" quoted_expense_triples = list(g.triples((URIRef("http://example.org/expense/quoted%20expense"), desc, None))) assert len(quoted_expense_triples) == 1 quoted_expense_desc = quoted_expense_triples[0][2] assert isinstance(quoted_expense_desc, Literal) assert quoted_expense_desc.value == "for some reason it came with quotes in it" flight_triples = list(g.triples((ns['flight'], desc, None))) assert len(flight_triples) == 1 flight_desc = flight_triples[0][2] assert isinstance(flight_desc, Literal) assert flight_desc.value == "had to fly \"escaped quotes business\" for this trip" car_triples = list(g.triples((ns['car'], desc, None))) assert len(car_triples) == 1 car_desc = car_triples[0][2] assert isinstance(car_desc, Literal) assert car_desc.value == " some \ in it to be escaped"
Example #20
Source File: test_null_values.py From pycsvw with Apache License 2.0 | 5 votes |
def test_null_values_with_single_string(): csvw = CSVW(csv_path="tests/null1.csv", metadata_path="tests/null1.single.csv-metadata.json") rdf_contents = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_contents, format="turtle") # There should be no subject NA all_subjects = {x for x in g.subjects()} assert subj_ns['null_key'] not in all_subjects assert subj_ns['1'] in all_subjects assert len(all_subjects) == 4 # Null valued objects should not be created all_objects = {x for x in g.objects()} assert Literal('null_key', datatype=XSD.token) not in all_objects assert Literal('null_sector') not in all_objects assert Literal('null_id', datatype=XSD.token) not in all_objects assert Literal('PUBLIC') in all_objects assert Literal('12', datatype=XSD.token) in all_objects # Spot check some triples do not exist but other do from the same row null_key_lit = Literal('null_id', datatype=XSD.token) assert len(list(g.triples((subj_ns['2'], id_uri, null_key_lit)))) == 0 priv_lit = Literal('PRIVATE') assert len(list(g.triples((subj_ns['2'], sect_uri, priv_lit)))) == 1 null_sector_lit = Literal('null_sector') assert len(list(g.triples((subj_ns['3'], sect_uri, null_sector_lit)))) == 0 twelve_lit = Literal('12', datatype=XSD.token) assert len(list(g.triples((subj_ns['3'], id_uri, twelve_lit)))) == 1
Example #21
Source File: test_virtual_columns.py From pycsvw with Apache License 2.0 | 5 votes |
def test_all_triples_with_row_numbers(): csvw = CSVW(csv_path='tests/virtual1.csv', metadata_path='tests/virtual1.csv-metadata.json') rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") all_subjects = {x for x in g.subjects()} assert len(all_subjects) == 4 ns = Namespace("http://example.org/") assert ns['sub-1'] in all_subjects assert ns['sub-2'] in all_subjects assert len([g.triples((ns['sub-1'], ns['obj-1'], ns['pred-1']))]) == 1 assert len([g.triples((ns['sub-2'], ns['obj-2'], ns['pred-2']))]) == 1
Example #22
Source File: test_virtual_columns.py From pycsvw with Apache License 2.0 | 5 votes |
def test_default(): csvw = CSVW(csv_path='tests/virtual1.csv', metadata_path='tests/virtual1.default.csv-metadata.json') rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") all_subjects = {x for x in g.subjects()} assert len(all_subjects) == 4 ns = Namespace("http://example.org/") assert ns['sub-1'] in all_subjects assert ns['sub-2'] in all_subjects assert len([g.triples((ns['sub-1'], ns['obj-1'], ns['myvalue']))]) == 1 assert len([g.triples((ns['sub-2'], ns['obj-2'], ns['myvalue']))]) == 1
Example #23
Source File: test_virtual_columns.py From pycsvw with Apache License 2.0 | 5 votes |
def test_table_level_about_url(): csvw = CSVW(csv_path='tests/virtual1.csv', metadata_path='tests/virtual1.table.about_url.csv-metadata.json') rdf_output = csvw.to_rdf() g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") all_subjects = {x for x in g.subjects()} assert len(all_subjects) == 2 ns = Namespace("http://example.org/") assert ns['sub-1'] in all_subjects assert ns['sub-2'] in all_subjects assert len([g.triples((ns['sub-1'], ns['obj-1'], ns['myvalue']))]) == 1 assert len([g.triples((ns['sub-2'], ns['obj-2'], ns['myvalue']))]) == 1
Example #24
Source File: test_formats.py From pycsvw with Apache License 2.0 | 5 votes |
def verify_rdf_contents(contents, fmt): g = ConjunctiveGraph() g.parse(data=contents, format=fmt) books = Namespace('http://www.books.org/') isbn = Namespace("http://www.books.org/isbn/") # Check number of all triples assert sum(1 for _ in g.triples((None, None, None))) == NUM_SUBJECTS * NUM_TRIPLES_PER_SUBJ # Check number of subject subjs = set(g.subjects()) expected_subjs = ["0062316095", "0374532508", "1610391845", "0374275637"] assert len(subjs) == len(expected_subjs) for s in expected_subjs: assert isbn[s] in subjs # Verify isbn number is positive integer s_isbn = list(g.triples((isbn[s], books['isbnnumber'], None))) assert len(s_isbn) == 1 s_isbn_val = s_isbn[0][2] assert isinstance(s_isbn_val, Literal) assert s_isbn_val.datatype == XSD.positiveInteger # Verify pages is a unsignedShort s_page = list(g.triples((isbn[s], books['pagecount'], None))) assert len(s_page) == 1 s_page_val = s_page[0][2] assert isinstance(s_page_val, Literal) assert s_page_val.datatype == XSD.unsignedShort # Verify hardcover is a boolean s_hardcover = list(g.triples((isbn[s], books['hardcover'], None))) assert len(s_hardcover) == 1 s_hardcover_val = s_hardcover[0][2] assert isinstance(s_hardcover_val, Literal) assert s_hardcover_val.datatype == XSD.boolean # Verify price is a decimal s_price = list(g.triples((isbn[s], books['price'], None))) assert len(s_price) == 1 s_price_val = s_price[0][2] assert isinstance(s_price_val, Literal) assert s_price_val.datatype == XSD.decimal
Example #25
Source File: test_single_table.py From pycsvw with Apache License 2.0 | 5 votes |
def verify_rdf(rdf_output): g = ConjunctiveGraph() g.parse(data=rdf_output, format="turtle") assert len(g) == 6 assert len(set(g.subjects())) == 2 assert len(set(g.predicates())) == 3 assert len(set(g.objects())) == 6
Example #26
Source File: datatypes.py From arches with GNU Affero General Public License v3.0 | 5 votes |
def to_rdf(self, edge_info, edge): # returns an in-memory graph object, containing the domain resource, its # type and the string as a string literal g = Graph() if edge_info["range_tile_data"] is not None: g.add((edge_info["d_uri"], RDF.type, URIRef(edge.domainnode.ontologyclass))) g.add((edge_info["d_uri"], URIRef(edge.ontologyproperty), Literal(edge_info["range_tile_data"]))) return g
Example #27
Source File: graph.py From renku-python with Apache License 2.0 | 5 votes |
def _conjunctive_graph(graph): """Convert a renku ``Graph`` to an rdflib ``ConjunctiveGraph``.""" from rdflib import ConjunctiveGraph from rdflib.plugin import register, Parser register('json-ld', Parser, 'rdflib_jsonld.parser', 'JsonLDParser') return ConjunctiveGraph().parse( data=_jsonld(graph, 'expand'), format='json-ld', )
Example #28
Source File: datatypes.py From arches with GNU Affero General Public License v3.0 | 5 votes |
def to_rdf(self, edge_info, edge): # returns an in-memory graph object, containing the domain resource, its # type and the number as a numeric literal (as this is how it is in the JSON) g = Graph() rtd = ( int(edge_info["range_tile_data"]) if type(edge_info["range_tile_data"]) == float and edge_info["range_tile_data"].is_integer() else edge_info["range_tile_data"] ) if rtd is not None: g.add((edge_info["d_uri"], RDF.type, URIRef(edge.domainnode.ontologyclass))) g.add((edge_info["d_uri"], URIRef(edge.ontologyproperty), Literal(rtd))) return g
Example #29
Source File: datatypes.py From arches with GNU Affero General Public License v3.0 | 5 votes |
def to_rdf(self, edge_info, edge): # returns an in-memory graph object, containing the domain resource, its # type and the number as a numeric literal (as this is how it is in the JSON) g = Graph() if edge_info["range_tile_data"] is not None: g.add((edge_info["d_uri"], RDF.type, URIRef(edge.domainnode.ontologyclass))) g.add((edge_info["d_uri"], URIRef(edge.ontologyproperty), Literal(edge_info["range_tile_data"]))) return g
Example #30
Source File: datatypes.py From arches with GNU Affero General Public License v3.0 | 5 votes |
def to_rdf(self, edge_info, edge): # returns an in-memory graph object, containing the domain resource, its # type and the number as a numeric literal (as this is how it is in the JSON) g = Graph() if edge_info["range_tile_data"] is not None: g.add((edge_info["d_uri"], RDF.type, URIRef(edge.domainnode.ontologyclass))) g.add((edge_info["d_uri"], URIRef(edge.ontologyproperty), Literal(edge_info["range_tile_data"], datatype=XSD.dateTime))) return g