neo4j - How to execute a SPARQL update in SailGraph by Tinkerpop -
my question how execute sparql update using sailgraph created tinkerpop.
delete { ?i_id_iri rdfs:label "bii-i-1" } insert { ?i_id_iri rdfs:label "bii-i-4" } { ?investigation rdf:type obi:0000011. ?i_id_iri rdf:type iao:0000577. ?i_id_iri iao:0000219 ?investigation. }
i have query far prefixes added on top file not work. code run follows
query = parser.parseupdate(querystring, baseuri); updateexpr expr = query.getupdateexprs().get(0); dataset dataset = query.getdatasetmapping().get(expr); graphdatabase.getsailconnection().executeupdate(expr, dataset, new emptybindingset(), false);
i'm not particularly familiar tinkerpop graphsail, assuming implements sesame sail api correctly, executing sparql query far easier if wrap in sailrepository
, so:
tinkergraph graph = new tinkergraph(); sail sail = new graphsail(graph); repository rep = new sailrepository(sail); rep.initialize();
you can use sesame's repository api, far more user-friendly trying operations directly on sail (which not designed purpose).
to open connection , execute sparql update, example, do:
repositoryconnection conn = rep.getconnection(); try { string sparql = "insert {?s <foo:example> . } {?s ?p ?o } "; update update = conn.prepareupdate(querylanguage.sparql, sparql); update.execute(); } { conn.close(); }
see link above more details on sesame's repository api, or check out javadoc.
Comments
Post a Comment