Example #1
0
	def doQueryUpdate(self, query_name, initBinds = {}):
		"""
		Given a sparql 1.1 update query, perform it. 
		"""

		query = self.queries[query_name]

		try:
			# Doesn't work?! fails silently.
			#result = self.graph.update(self.prefixes + query, initBindings=initBinds, initNs=self.namespace)
			result = processUpdate(self.graph, self.prefixes + query, initBindings=initBinds, initNs=self.namespace)
		except Exception as e:
			print ("\nSparql query [%s] parsing problem: %s \n" % (query_name, str(e) ))
			return None

		return result
Example #2
0
"""

Process SPARQL Update

"""

import rdflib
from rdflib_sparql.processor import processUpdate

g = rdflib.Graph()
g.load("foaf.rdf")

processUpdate(g, '''
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
INSERT
    { ?s a dbpedia:Human . }
WHERE
    { ?s a foaf:Person . }
''')

for x in g.subjects(
        rdflib.RDF.type, rdflib.URIRef('http://dbpedia.org/resource/Human')):
    print x
Example #3
0
# ordered list ontology
LOAD <http://purl.org/ontology/olo/core> ;
# dublin core stuff
LOAD <http://purl.org/dc/elements/1.1/> ;
LOAD <http://purl.org/dc/terms/> ;
LOAD <http://purl.org/dc/dcmitype/> ;
'''

# clear the named graph
#
template = '''
PREFIX : <{ug}>
CLEAR GRAPH :
'''
ru = template.format(ug=USER, sg=SCHEMA)
processUpdate(citg,ru)


#
# Insert triples into the named graph
#
template = '''
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <{ug}>

INSERT DATA {{
  GRAPH : {{
    :howard dc:title "Howard Burrows" .
    :howard :friends [
      a rdf:Seq ;
def testCycleDetection():
    g = rdflib.Graph()
    processUpdate(g, qMakeCycle)
    print g.serialize(format='turtle')
    print checkCycle(g)
def orderingConstraints(g):
    processUpdate(g, start_precedes_end)
    processUpdate(g, start_start_ordering)
    processUpdate(g, end_end_ordering)
    processUpdate(g, usage_within_activity1)
    processUpdate(g, usage_within_activity2)
    processUpdate(g, generation_within_activity1)
    processUpdate(g, generation_within_activity2)
    processUpdate(g, wasInformedBy_ordering)
    processUpdate(g, generation_precedes_invalidation)
    processUpdate(g, generation_precedes_usage)
    processUpdate(g, usage_precedes_invalidation)
    processUpdate(g, generation_generation_ordering)
    processUpdate(g, invalidation_invalidation_ordering)
    processUpdate(g, derivation_usage_generation_ordering)
    processUpdate(g, derivation_generation_generation_ordering)
    processUpdate(g, wasStartedBy_ordering1)
    processUpdate(g, wasStartedBy_ordering2)
    processUpdate(g, wasEndedBy_ordering1)
    processUpdate(g, wasEndedBy_ordering2)
    processUpdate(g, specialization_generation_ordering)
    processUpdate(g, specialization_invalidation_ordering)
    processUpdate(g, wasAssociatedWith_ordering1)
    processUpdate(g, wasAssociatedWith_ordering2)
    processUpdate(g, wasAssociatedWith_ordering3)
    processUpdate(g, wasAssociatedWith_ordering4)
    processUpdate(g, wasAttributedTo_ordering1)
    processUpdate(g, wasAttributedTo_ordering2)
    processUpdate(g, actedOnBehalfOf_ordering1)
    processUpdate(g, actedOnBehalfOf_ordering2)
    return g
Example #6
0
def graphCleaner():
	global graph1
	processUpdate(settings.graph1, '''DELETE WHERE {?s ?p ?o }''')
	global graph2
	processUpdate(settings.graph2, '''DELETE WHERE {?s ?p ?o }''')