the Neo4j-indexing provider (which is also used by Cypher) is lucene, so the 
default lucene query syntax works in the neo4j core API and Cypher queries.

http://lucene.apache.org/java/3_4_0/queryparsersyntax.html

Michael

Am 03.11.2011 um 03:32 schrieb andrew ton:

> 
> 
> Hi Michael,
> 
> Thank you very much! Your answers are very helpful to me. Although I have 
> read the manual enclosed in the neo4j package I downloaded I did not know 
> that we can use * wildcard for any ids or names. 
> 
> Besides the manual what other resources can I find to understand more about 
> Cypher?
> 
> Appreciated your help.
> 
> A.
>  
> 
> 
> 
> 
> ________________________________
> From: Michael Hunger <michael.hun...@neotechnology.com>
> To: Neo4j user discussions <user@lists.neo4j.org>
> Sent: Wednesday, November 2, 2011 5:31 PM
> Subject: Re: [Neo4j] Cypher questions
> 
> Both your questions would be answered with indexing:
> 
> for the 1) you would add the user nodes them to a "User" index and then use
> 
> start user=node:User("id:*") ...
> 
> For 2) you would index the relationships-similarly (for the interesting 
> types).
> 
> e.g. create an index for only the rel-type you're interested in: 
> index().forRelationships("go_to_school").add(rel, "key","value") key and 
> value are arbitrary things, but you might leverage them with sensible data in 
> your domain model.
> 
> start r = relationship:go_to_school("field:*") match (x)-[r]->(n) where 
> n.name = "Notre Dame" return x
> 
> 
> !! usually you would probably rather index the schools, and look them up 
> directly
> 
> start school = node:schools("name",{school_name}) match 
> pupil-[:go_to_school]->school return pupil
> 
> 
> (You could use auto-indexing for both if that is useful for you, the 
> index-names would then be node_auto_index and relationship_auto_index, see :
> 
> http://docs.neo4j.org/chunked/snapshot/auto-indexing.htmlhttp://docs.neo4j.org/chunked/snapshot/rest-api-auto-indexes.html
> 
> )
> Am 03.11.2011 um 00:35 schrieb andrew ton:
> 
>> 
>> 
>> Hello,
>> 
>> I have some questions regarding Cypher.
>> 
>> 1. I have an ontology that defines classes and individuals. I store this 
>> ontology into Neo4J REST db. Is there any ways to find all individuals that 
>> have some given class? 
>> In SPARQL, it can be done like "...WHERE { ?u a :User.}..." to find all 
>> instances that have a type of User.
>> 
>> 2. Similar to the question#1, if I understand correctly in Cypher I always 
>> have to start with a known node either by its ID or name. If so how to find 
>> any nodes that have some given relationship?
>> For example, I want to find any nodes that have the the relationship type 
>> "go_to_school".
>> 
>> (x)-[:go_to_school]->(n) where (n.name= "NotreDame") return x
>> 
>> Thank you,
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
> 
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to