Could someone please guide me if my below steps of converting JSON to triples is the optimum solution?
Thanks, Arun From: [email protected] [mailto:[email protected]] On Behalf Of Arun K L Sent: Tuesday, March 07, 2017 3:48 PM To: 'MarkLogic Developer Discussion' Subject: Re: [MarkLogic Dev General] Dynamically convert JSON to triples Tony, Thanks for correcting me. Regards, Arun From: [email protected] [mailto:[email protected]] On Behalf Of Anthony Coates Sent: Tuesday, March 07, 2017 3:38 PM To: MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] Dynamically convert JSON to triples Classification: Public The range of < <http://dbpedia.org/ontology/name> http://dbpedia.org/ontology/name> is 'rdf:langString', so the object shouldn't be an IRI, it should be a string, possibly with a language specifier as appropriate. Cheers, Tony. From: [email protected] [mailto:[email protected]] On Behalf Of Arun K L Sent: 07 March 2017 10:02 To: [email protected] Subject: [MarkLogic Dev General] Dynamically convert JSON to triples Greetings All, We have an app where we use MarkLogic Java client API to communicate with MarkLogic DB. We are working on converting JSON documents to triples data as and when the JSON doc is ingested. We are achieving this via below steps. 1. Suppose the incoming JSON is as below: {"id":"100", "name":"john"} 2. Convert this into NT format like below. Please note that no tools are used for this conversion. The properties are read and set to Java Strings. a. Read the JSON string and set it to Person object b. Get the values and set it in below string String triple = "<http://dbpedia.org/resource/ <http://dbpedia.org/resource/%22%20+%20person.getID()%20+%20%22> " + person.getID() + "> <http://dbpedia.org/ontology/name> <http://dbpedia.org/resource/ <http://dbpedia.org/resource/%22%20+%20person.getName()%20+%20%22> " + person.getName() + "> ."; 3. Now use StringHandle using which the triples data is ingested into MarkLogic DB using graphManager.write() method. StringHandle handle = new StringHandle(triple).withMimetype(RDFMimeTypes.NTRIPLES); Using this approach we are able to see the triples data (http://localhost:8000/v1/graphs/things) as expected. The question is: is this the right approach to dynamically convert JSON to triples? Or is there any better way to do this, say using XQuery or Javascript functions/scripts? Any guidance is much appreciated! Thanks, Arun --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to https://www.db.com/disclosures for additional EU corporate and regulatory disclosures and to http://www.db.com/unitedkingdom/content/privacy.htm for information about privacy.
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
