Query with Gremlin¶
Step Outline¶
1. Upload Data¶
Action: Upload some person infotons, with relationships among the individuals.
Curl command:
curl -X POST "<cm-well-host>/_in?format=nquads" -H "Content-Type: text/plain" --data-binary @inputfile.txt
Input file contents:
<http://example.org/Individuals/DaisyDuck> <http://purl.org/vocab/relationship/colleagueOf> <http://example.org/Individuals/BruceWayne> . <http://example.org/Individuals/DaisyDuck> <http://www.tr-lbd.com/bold#active> "false" . <http://example.org/Individuals/BruceWayne> <http://purl.org/vocab/relationship/employedBy> <http://example.org/Individuals/DonaldDuck> . <http://example.org/Individuals/BruceWayne> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/DonaldDuck> <http://purl.org/vocab/relationship/mentorOf> <http://example.org/Individuals/JohnSmith> . <http://example.org/Individuals/DonaldDuck> <http://purl.org/vocab/relationship/knowsByReputation> <http://example.org/Individuals/MartinOdersky> . <http://example.org/Individuals/DonaldDuck> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/JohnSmith> <http://purl.org/vocab/relationship/friendOf> <http://example.org/Individuals/PeterParker> <http://example.org/graphs/spiderman> . <http://example.org/Individuals/JohnSmith> <http://purl.org/vocab/relationship/parentOf> <http://example.org/Individuals/SaraSmith> <http://example.org/graphs/spiderman> . <http://example.org/Individuals/JohnSmith> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/SaraSmith> <http://purl.org/vocab/relationship/siblingOf> <http://example.org/Individuals/RebbecaSmith> . <http://example.org/Individuals/SaraSmith> <http://purl.org/vocab/relationship/childOf> <http://example.org/Individuals/HarryMiller> . <http://example.org/Individuals/SaraSmith> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/RebbecaSmith> <http://purl.org/vocab/relationship/siblingOf> <http://example.org/Individuals/SaraSmith> . <http://example.org/Individuals/RebbecaSmith> <http://www.tr-lbd.com/bold#active> "false" . <http://example.org/Individuals/PeterParker> <http://purl.org/vocab/relationship/worksWith> <http://example.org/Individuals/HarryMiller> . <http://example.org/Individuals/PeterParker> <http://purl.org/vocab/relationship/neighborOf> <http://example.org/Individuals/ClarkKent> . <http://example.org/Individuals/PeterParker> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/HarryMiller> <http://purl.org/vocab/relationship/parentOf> <http://example.org/Individuals/NatalieMiller> . <http://example.org/Individuals/HarryMiller> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/NatalieMiller> <http://purl.org/vocab/relationship/childOf> <http://example.org/Individuals/HarryMiller> . <http://example.org/Individuals/NatalieMiller> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/MartinOdersky> <http://purl.org/vocab/relationship/collaboratesWith> <http://example.org/Individuals/RonaldKhun> . <http://example.org/Individuals/MartinOdersky> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/RonaldKhun> <http://purl.org/vocab/relationship/collaboratesWith> <http://example.org/Individuals/MartinOdersky> . <http://example.org/Individuals/RonaldKhun> <http://www.tr-lbd.com/bold#active> "true" . <http://example.org/Individuals/RonaldKhun> <http://www.tr-lbd.com/bold#category> "deals" . <http://example.org/Individuals/RonaldKhun> <http://www.tr-lbd.com/bold#category> "news" .
Response:
{"success":true}
2. Run Gremlin Query¶
Action: Retrieve person infotons which are outbound links of the "Sara Smith" infoton, whose active field value is "true".
Curl command:
curl -X POST "<cm-well-host>/_sp" --data-binary @inputfile.txt
Input file contents:
PATHS /example.org/Individuals?op=search&length=1000&with-data Gremlin g.v("http://example.org/Individuals/SaraSmith").out().filter{it["http://www.tr-lbd.com/bold#active"]=="true"}
Response:
v[http://example.org/Individuals/RebbecaSmith]