def get_all_subchannels(channel_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Get channels get_channels_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?channel ?label ?comment WHERE { ?channel rdf:type <%s>; rdfs:label ?label ; rdfs:comment ?comment . } """ % (channel_uri) channels = store.query(get_channels_query) store.close() return channels
def get_channel_colour(color_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Get color get_color_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT ?color WHERE { dbo:%s a dbo:Colour ; dbo:colourHexCode ?color . } """ % (color_uri.split("/")[-1]) color = store.query(get_color_query) store.close() return color
def get_channel_actions(uri_channel): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # get actions get_actions_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?action ?label ?comment WHERE { %s ewe:providesAction ?action . ?action rdfs:subClassOf ewe:Action ; rdfs:domain %s; rdfs:label ?label ; rdfs:comment ?comment . } """ % (uri_channel.n3(), uri_channel.n3()) actions_result = store.query(get_actions_query) store.close() return actions_result
def get_all_user_rules(user_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Get rules get_rules_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX string: <http://www.w3.org/2000/10/swap/string#> PREFIX math: <http://www.w3.org/2000/10/swap/math#> SELECT ?uri WHERE { ?uri rdf:type ewe:Rule ; ewe:hasCreator '%s' . } """ % (user_uri) rules = store.query(get_rules_query) store.close() return rules
def get_all_category_channels(category_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Get channels get_channels_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT ?channel ?label ?comment ?logo ?color WHERE { ?channel rdfs:subClassOf ewe:Channel ; rdfs:label ?label ; rdfs:comment ?comment ; foaf:logo ?logo ; dbo:colour ?color ; ewe:hasCategory <%s> . } """ % (category_uri) channels = store.query(get_channels_query) store.close() return channels
def get_rule_by_uri(rule_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) rule_uri = rule_uri.split("/")[-1] get_rule_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX string: <http://www.w3.org/2000/10/swap/string#> PREFIX math: <http://www.w3.org/2000/10/swap/math#> SELECT ?label ?comment ?event ?action ?rule WHERE { ewe:%s rdf:type ewe:Rule ; rdfs:label ?label ; rdfs:comment ?comment ; ewe:triggeredBy ?event ; ewe:executes ?action ; rdf:value ?rule . } """ % (rule_uri) rule_query = store.query(get_rule_query) store.close() return rule_query
def delete_rule(uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Delete channel and parameters delete_rule_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX string: <http://www.w3.org/2000/10/swap/string#> PREFIX math: <http://www.w3.org/2000/10/swap/math#> DELETE { <%s> ?b ?c . } WHERE { <%s> ?b ?c . } """ % (uri, uri) rule = store.update(delete_rule_query) store.close() return ""
def get_custom_channel_parameters(uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) get_parameters_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?parameter ?label ?value ?datatype ?baseParameter WHERE { %s ewe:hasParameter ?parameter . ?parameter rdf:type ?baseParameter ; rdf:value ?value . ?baseParameter rdfs:label ?label ; rdf:datatype ?datatype . } """ % (uri.n3()) parameters = store.query(get_parameters_query) store.close() return parameters
def delete_user(username): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Delete user delete_user_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> DELETE { ?a ?b ?c ; foaf:accountName ?d . } WHERE { ?a ?b ?c ; foaf:accountName "%s" . } """ % (username) user = store.update(delete_user_query) store.close() return ""
def get_input_parameters(actionevent_uri, uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # get input parameters get_input_parameters_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX math: <http://www.w3.org/2000/10/swap/math#> PREFIX string: <http://www.w3.org/2000/10/swap/string#> SELECT ?parameter ?label ?comment ?datatype ?operation WHERE { %s ewe:hasInputParameter ?parameter . ?parameter rdfs:subClassOf ewe:Parameter ; rdfs:domain %s; rdfs:label ?label ; rdfs:comment ?comment ; rdf:datatype ?datatype ; ewe:operation ?operation . } """ % (actionevent_uri.n3(), uri.n3()) parameters = store.query(get_input_parameters_query) store.close() return parameters
def get_channel_parameters(uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) get_parameters_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?parameter ?label ?comment ?datatype WHERE { { ?action rdfs:subClassOf ewe:Action ; ewe:hasInputParameter ?parameter . } UNION { ?event rdfs:subClassOf ewe:Event ; ewe:hasInputParameter ?parameter . } ?parameter rdfs:subClassOf ewe:Parameter ; rdfs:domain %s; rdfs:label ?label ; rdfs:comment ?comment ; rdf:datatype ?datatype . } """ % (uri.n3()) parameters = store.query(get_parameters_query) store.close() return parameters
def get_channel_by_event(event_uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) event_uri = event_uri[40:] # Get channels get_channel_query = """ PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT ?uri ?label ?logo ?comment ?color WHERE { ?uri rdfs:subClassOf ewe:Channel ; rdfs:label ?label ; foaf:logo ?logo ; dbo:colour ?color ; ewe:generatesEvent ewe:%s ; rdfs:comment ?comment . } """ % (event_uri) channel = store.query(get_channel_query) store.close() return channel
def create_channel_with_triples(triples): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) triples_query = "" for s, p, o in triples: triples_query = triples_query + s.n3() + p.n3() + o.n3() + "." # Create channel get_channels_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> INSERT DATA { %s } """ % (triples_query) channels = store.update(get_channels_query) store.close() return ""
def __init__(self, endpoint=None): if endpoint is None: self.g = Graph() else: self._store = sparqlstore.SPARQLUpdateStore() self._store.open((endpoint, endpoint)) self.g = Graph(self._store, URIRef('urn:x-arq:DefaultGraph')) self.ns = {}
def query_virtuoso(q): endpoint = virtuoso_address store = sparqlstore.SPARQLUpdateStore(endpoint) gs = rdflib.ConjunctiveGraph(store) gs.open((endpoint, endpoint)) gs1 = gs.get_context(rdflib.URIRef(virtuoso_graph_uri)) res = gs1.query(q) return res
def uploadResult(self): query_endpoint = 'http://localhost:3030/ds/query' update_endpoint = self.tripleStoreURL g = Graph() g.parse(data=self.ttlstring, format="ttl") store = sparqlstore.SPARQLUpdateStore() store.open((query_endpoint, update_endpoint)) store.add_graph(g) self.close()
def conn(self): """ connects to the sparqlstore(points to stardog at port 5820) :return: """ endpoint = 'http://156.56.14.247:5820' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) print(store)
def delete_custom_channel(uri): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Delete channel and parameters delete_channels_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> DELETE { <%s> ?b ?c . ?param ?d ?e } WHERE { <%s> ?b ?c; ewe:hasParameter ?param . ?param ?d ?e } """ % (uri, uri) channels = store.update(delete_channels_query) # Delete channel delete_channels_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> DELETE { <%s> ?b ?c . } WHERE { <%s> ?b ?c. } """ % (uri, uri) channels = store.update(delete_channels_query) store.close() return ""
def test_virtuso(self): query = """ INSERT IN GRAPH <http://mytest.org> { <#book1> <http://purl.org/dc/elements/1.1/title> "Fundamentals of Compiler Design" . } """ # import rdflib store = sparqlstore.SPARQLUpdateStore(endpoint_rdf_store_url, virtuoso=True) gs = rdflib.ConjunctiveGraph(store) gs.open((endpoint_rdf_store_url, endpoint_rdf_store_url)) gs1 = gs.get_context(rdflib.URIRef('http://localhost:8890/DAV')) gs1 = self.get_triples("", "test.ttl") gs1.update(query)
def log(self, obj): from rdflib.plugins.stores import sparqlstore store = sparqlstore.SPARQLUpdateStore( self.pypads.config["sparql-query-endpoint"], self.pypads.config["sparql-update-endpoint"], auth=(self.pypads.config["sparql-auth-name"], self.pypads.config["sparql-auth-password"])) graph = rdflib.Graph(store, identifier=rdflib.URIRef( self.pypads.config["sparql-graph"])) graph.open((self.pypads.config["sparql-query-endpoint"], self.pypads.config["sparql-update-endpoint"])) """ TODO check type and generate missing data. If we log a parameter look at additional data and generate entries by converting the estimator: model_parameter: etc. structure? If we log an estimator look at ... If we log an metric look at ... """ self._backend.pypads.api.convert_to_rdf(obj, graph) return self._backend.log(obj)
def create_channel(base, name, c_type, label, comment, parameters): timestamp = str(int(round(time.time()))) #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) triples = "" # Create parameters for param in parameters: triples = triples + """ ewe:%s rdf:type <%s> ; rdf:value '%s' . <%s%s> ewe:hasParameter <%s%s> . """ % (param["rdfs:label"].replace(" ", "").lower() + timestamp, param["rdf:type"], param["rdf:value"], base, name + timestamp, base, param["rdfs:label"].replace(" ", "").lower() + timestamp) # Create channel get_channels_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> INSERT DATA { ewe:%s rdf:type <%s> ; rdfs:label '%s'; rdfs:comment '%s'. %s } """ % (name + timestamp, c_type, label, comment, triples) channels = store.update(get_channels_query) store.close() return ""
def query_user(username): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/query' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) # Get user get_user_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?user WHERE { ?user rdf:type ewe:User; foaf:accountName "%s" . } """ % (username) user = store.query(get_user_query) store.close() return user
def create_new_user(username): #Define the SparQL store endpoint = 'http://' + os.environ['SPARQL_URL'] + '/update' store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) create_user_query = """ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX ewe: <http://gsi.dit.upm.es/ontologies/ewe/ns/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> INSERT DATA { ewe:%s rdf:type ewe:User ; foaf:accountName '%s'. } """ % (username, username) print(create_user_query) users = store.update(create_user_query) store.close() return ""
def __init__(self, *args, **kwargs): super(StardogBackend, self).__init__(*args, **kwargs) self.name = 'stardogBackend' self.db = "test-haris" self.endpoint = 'http://*****:*****@localhost:5820/%s/update"' % (self.db)) g = Graph() g.parse("ryu/app/reasonet-schema.ttl", format="n3") self.insert_tuples(g) self.cb_violations = {} return
def setup_connection(self): store = sparqlstore.SPARQLUpdateStore() store.setCredentials(self.user, self.passwd) store.open((self.endpoint, self.endpoint)) self.store = store self._initialise_namespaces()
def connect(endpoint, named_graph): # set up the parliament named graph endpoint # TODO: handle auth to the thing store = sparqlstore.SPARQLUpdateStore() store.open((endpoint, endpoint)) return Graph(store, URIRef(named_graph))
from rdflib import Graph, Literal, URIRef from rdflib.namespace import RDF, SKOS, FOAF from rdflib.plugins.stores import sparqlstore import tqdm # Define the Stardog update store update_endpoint = 'http://localhost:5820/demo/update' update_store = sparqlstore.SPARQLUpdateStore() update_store.open((update_endpoint, update_endpoint)) # Identify a named graph where we will be adding our instances. default_graph = URIRef('http://example.org/default-graph') update_g = Graph(update_store, identifier=default_graph) update_g.store.setCredentials('admin', 'admin') # Define the Stardog query store query_endpoint = 'http://localhost:5820/demo/query' query_store = sparqlstore.SPARQLUpdateStore() query_store.open((query_endpoint, query_endpoint)) # Identify a named graph where we will be adding our instances. default_graph = URIRef('http://example.org/default-graph') query_g = Graph(query_store, identifier=default_graph) query_g.store.setCredentials('admin', 'admin') s_person = URIRef('http://schema.org/Person') s_action = URIRef('http://schema.org/Action') s_creative_work = URIRef('http://schema.org/CreativeWork') s_organization = URIRef('http://schema.org/Organization') s_edu_org = URIRef('http://schema.org/EducationalOrganization') s_book = URIRef('http://schema.org/Book')
'momaf:text' with 'momaf:lemmatizedText' """ DATAQUERY = """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX text: <http://jena.apache.org/text#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> prefix momaf: <http://momaf-data.utu.fi/> select ?id ?content where { ?id momaf:text ?content . } limit 15 """ store = sparqlstore.SPARQLUpdateStore(auth=(USERNAME, PASSWORD)) store.open((QSERVICE, USERVICE)) g = Graph(store=store, identifier=URIRef(RESULTGRAPH)) store.remove_graph(g) store.add_graph(g) momaf = Namespace("http://momaf-data.utu.fi/") g.bind("momaf", momaf) qres = store.query(DATAQUERY) def processstring(st): """ This processes each freetext field. Call your stuff from here.""" nes = [ # Example of return data {
Literal(station_props['lat'], datatype=XSD.double))) g2.add((r[station_props['number']], n.lng, Literal(station_props['lng'], datatype=XSD.double))) return g2 def my_bnode_ext(node): # Create a named node from a blank node if isinstance(node, BNode): return '<bnode:b%s>' % node return sparqlstore._node_to_sparql(node) if __name__ == '__main__': json_data = get_json_data() # Populate the graph from JSON graph = json_to_graph(json_data, ontology='BicycleStands.owl') print("Nb de triples:", len(graph)) graph.serialize(destination='output.ttl', format='turtle') query_endpoint = 'http://localhost:3030/ds/query' update_endpoint = 'http://localhost:3030/ds/update' store = sparqlstore.SPARQLUpdateStore(node_to_sparql=my_bnode_ext) store.open((query_endpoint, update_endpoint)) for (s, p, o) in graph: store.add((s, p, o))
def __init__(self, endpoint): self._store = sparqlstore.SPARQLUpdateStore() self._store.open((endpoint, endpoint)) self.g = Graph(self._store, URIRef('urn:x-arq:DefaultGraph'))