Cookies help us deliver our services. By using our services, you agree to our use of cookies. More information

Difference between revisions of "Space Race/MATCH Tutorial"

From NoSQLZoo
Jump to: navigation, search
Line 20: Line 20:
 
<div class="q nonum" data-lang="neo4j">
 
<div class="q nonum" data-lang="neo4j">
 
   <p>Use <code>WHERE</code> to specify conditions and the <code>.</code> operator to access individual properties of a node.</p>
 
   <p>Use <code>WHERE</code> to specify conditions and the <code>.</code> operator to access individual properties of a node.</p>
 +
  <p>The item in <code>[]</code> represents a <strong>relationship</strong> between nodes, in this case the relationship possessing the label "BORN_IN"</p>
 
   <p class='strong'>Show the Surnames of Astronauts born in Russia, and the full name of Russia rather than the USA. Hint: Use the ISO 3166-1 Alpha-2 code in all caps<p>
 
   <p class='strong'>Show the Surnames of Astronauts born in Russia, and the full name of Russia rather than the USA. Hint: Use the ISO 3166-1 Alpha-2 code in all caps<p>
   <pre class="def"><nowiki>MATCH(n:Astronaut)-[:BORN_IN]-(c:Country{}) WHERE c.abbrev ='USA' RETURN n.surname, c.name;</nowiki>
+
   <pre class="def"><nowiki>MATCH(n:Astronaut)-[:BORN_IN]->(c:Country) WHERE c.abbrev ='USA' RETURN n.surname, c.name;</nowiki>
 
</pre>
 
</pre>
<pre class="ans"><nowiki>MATCH(n:Astronaut)-[:BORN_IN]-(c:Country) WHERE c.abbrev= 'RU' RETURN n.surname, c.name;</nowiki>
+
<pre class="ans"><nowiki>MATCH(n:Astronaut)-[:BORN_IN]->(c:Country) WHERE c.abbrev= 'RU' RETURN n.surname, c.name;</nowiki>
 
</pre>
 
</pre>
 
</div>
 
</div>
 +
 +
==Neil Armstrong's Birthday==
 +
<div class="q nonum" data-lang="neo4j">
 +
  <p>When simply matching based on properties of a node, an alternative to using <code>WHERE</code> is to use the <code>{}</code> with the format <code>{property:value}</code>
 +
  <p class='strong'>Return Neil Armstrong's date of birth<p>
 +
  <pre class="def"><nowiki>MATCH(n:Astronaut{surname:"Gagarin",first_name:"Yuri"})RETURN n.dob;</nowiki>
 +
</pre>
 +
<pre class="ans"><nowiki>MATCH(n:Astronaut{surname:"Armstrong",first_name:"Neil"})RETURN n.dob;</nowiki>
 +
</pre>
 +
</div>
 +
  
 
{{Acknowledgements}}
 
{{Acknowledgements}}

Revision as of 08:56, 28 November 2019

Visualisation

Click here for 3d graph visualisation

Institutions

Use MATCH and RETURN to return nodes. Use : to specify what label(s) you wish the returned nodes to have. Not specifying any label will return ALL nodes

Show Institutions instead of Astronauts

MATCH(n:Astronaut) RETURN n;
MATCH(n:Institution) RETURN n; 

Born in Russia

Use WHERE to specify conditions and the . operator to access individual properties of a node.

The item in [] represents a relationship between nodes, in this case the relationship possessing the label "BORN_IN"

Show the Surnames of Astronauts born in Russia, and the full name of Russia rather than the USA. Hint: Use the ISO 3166-1 Alpha-2 code in all caps

MATCH(n:Astronaut)-[:BORN_IN]->(c:Country) WHERE c.abbrev ='USA' RETURN n.surname, c.name;
MATCH(n:Astronaut)-[:BORN_IN]->(c:Country) WHERE c.abbrev= 'RU' RETURN n.surname, c.name;

Neil Armstrong's Birthday

When simply matching based on properties of a node, an alternative to using WHERE is to use the {} with the format {property:value}

Return Neil Armstrong's date of birth

MATCH(n:Astronaut{surname:"Gagarin",first_name:"Yuri"})RETURN n.dob;
MATCH(n:Astronaut{surname:"Armstrong",first_name:"Neil"})RETURN n.dob;


Acknowledgements

NoSQLZoo is made possible by the following open-source technologies:

jQuery JSHint CodeMirror MediaWiki MariaDB