def _turtle_to_ntriples(self, data): # Turtle syntax is not supported by allegro graph # HACK workaround using redland import RDF model = RDF.Model() parser = RDF.TurtleParser() try: parser.parse_string_into_model(model, data.read(), '-') except RDF.RedlandError, err: raise TripleStoreError(err)
def make_query(self, rdf, query): """Make sparql query.""" model = RDF.Model() parser = RDF.Parser() parser.parse_into_model(model, rdf) sparql = """ %s %s""" % (self.rdf_prefix, query) q = RDF.Query(sparql, query_language="sparql") return q.execute(model)
def voidify(self, void_model, dataset): namespaces = lodstats.util.rdf_namespaces.RDFNamespaces() datatype_uri = namespaces.get_rdf_namespace("xsd").integer.uri number_of_distinct_objects = str(self.results['count']) number_of_distinct_objects_node = RDF.Node( literal=number_of_distinct_objects, datatype=datatype_uri) void_model.append( RDF.Statement(dataset, namespaces.get_rdf_namespace("void").distinctObjects, number_of_distinct_objects_node))
def rate(resource, rating): '''give a resource a nao:numericRating (float from 1-10)''' resource = RDF.Node(RDF.Uri(resource)) rating = RDF.Node(literal=str(rating), datatype=ns['xs'].float.uri) # delete any existing ratings for this resource TripleStore.forget(resource, ns['nao'].numericRating, None) TripleStore.state(resource, ns['nao'].numericRating, rating)
def _list_uris(): cc_jurisdiction_url = RDF.Uri('http://creativecommons.org/ns#Jurisdiction') # grab the url strings from the RDF Nodes uris = [ rdf_helper.uri2value(j.subject) for j in list_t( rdf_helper.JURI_MODEL.find_statements( RDF.Statement(None, None, cc_jurisdiction_url))) ] uris.append('') # default jurisdiction return uris
def serialize(model, ns, filename, format): if format is None: format = "turtle" serializer = RDF.Serializer(name=format) for prefix in ns: serializer.set_namespace(prefix, RDF.Uri(ns[prefix])) serializer.serialize_model_to_file(filename, model)
def _rdfxml_to_ntriples(self, data): # Ntriples syntax is not supported by allegro graph # as a result format for SPARQL Construct Queries # HACK workaround using redland import RDF model = RDF.Model() parser = RDF.Parser() try: parser.parse_string_into_model(model, data.read(), '-') except RDF.RedlandError, err: raise TripleStoreError(err)
def test_graph_can_list_its_graphs(graph): # clear_graphs(graph) graph.name = "canadd" graph.create_graph() graph.insert(s=RDF.Uri('http://example.org/#Foo'), p=RDF.Uri('http://example.org/#isA'), o=RDF.Uri('http://name.org/Foo')) assert 'canadd' in graph.graphs()
def _ntriples_to_turtle(self, data): # Turtle syntax is not supported by allegro graph # HACK workaround using redland import RDF model = RDF.Model() parser = RDF.Parser('ntriples') data = data.read() data = (data.strip() + '\n') try: parser.parse_string_into_model(model, data, '-') except RDF.RedlandError, err: raise TripleStoreError(err)
def bootstrap(self, filename): file = open(filename, "r") parser = RDF.Parser(name="turtle") status = parser.parse_string_into_model( self.model, file.read(), "http://example.com/bootstrap") file.close() if not status: raise RDF.RedlandError("Error parsing bootstrapping file.") else: namespaces = parser.namespaces_seen() self.addNamespaces(namespaces) return self