Are you referring to what the implementation looks like? This is the source.
I haven't grokked it yet, so I can't give you a TL;DR;, sorry.

https://github.com/neo4j/community/tree/master/graph-matching

Cypher allows you to do graph-matching (internally, it uses the above
module), but adds a few more bells and whistles to it.

If you have any Cypher questions, ask away.

Andrés

On Sat, Jun 18, 2011 at 8:13 PM, Aman <aman.6...@gmail.com> wrote:

> Jim,
> I was going through Cypher and a question came into my mind regarding
> pattern matching... How is pattern matching done in neo4j? I mean, how
> are nodes and relationships matched in case of large data-sets?
>
> On 6/18/11, Aman <aman.6...@gmail.com> wrote:
> > Jim,
> > Thanks for the valuable input... The use case I mentioned here (using
> > only visited places) was a simplistic version of the real one,
> > because, just as you said, I'd be getting large number of results in
> > that case... I'd check out pattern matching and Cypher to ease me in
> > my project... Neo4j team is truly awesome! You guys are always there
> > to help...
> >
> > On 6/18/11, Jim Webber <j...@neotechnology.com> wrote:
> >> That's a great point.
> >>
> >> In Neo4j you can add properties to your relationships so that:
> >>
> >> Jim --VISITED (numberOfTimes: 20) --> Melbourne
> >>
> >> Then you can use the "numberOfTimes" property to determine whether or
> not
> >> you'd like to include the person/city in the recommendations you're
> >> making.
> >> In this case it seems I'm rather keen on Melbourne, so you might want to
> >> recommend me to other folks who visit Melbourne a lot.
> >>
> >> As for whether it's more efficient than other databases, I suspect it is
> >> in
> >> the general case since this is a graph operation which other kinds of
> >> stores
> >> will have to reify for themselves (e.g recursive joins, big map/reduce
> >> job,
> >> etc). The cost of these kind of operations in Neo4j tends to be very
> low.
> >>
> >> Jim
> >>
> >>
> >> On 18 Jun 2011, at 07:56, faja...@gmail.com wrote:
> >>
> >>> Ah this discussion is interesting, I want to join and throw in sonme
> >>> idea
> >>> too.
> >>>
> >>> If a user can visit a place for multiple times. And if there are 100
> >>> user
> >>> visit USA. So we should suggest top 10 only.
> >>>
> >>> Would traversing the graph be more efficient than normal database
> query?
> >>>
> >>>
> >>> Sent from my BlackBerry® smartphone from Sinyal Bagus XL, Nyambung
> >>> Teruuusss...!
> >>>
> >>> -----Original Message-----
> >>> From: Aman <aman.6...@gmail.com>
> >>> Sender: user-boun...@lists.neo4j.org
> >>> Date: Sat, 18 Jun 2011 10:50:34
> >>> To: Neo4j user discussions<user@lists.neo4j.org>
> >>> Reply-To: Neo4j user discussions <user@lists.neo4j.org>
> >>> Subject: Re: [Neo4j] Generating suggestions in a Neo4j db
> >>>
> >>> Hi Jim,
> >>> The way you mentioned, that will take care of these suggestions,
> >>> thanks for the same. But here's a tougher problem....
> >>> If I have a database of 50k people, and I want to find friends based
> >>> upon the places that those 50k people have visited (i.e. People who
> >>> have visited same places as me should be suggested as friends to me),
> >>> then how to to that... I've thought all that I could, but I always
> >>> come up with something stupid... Any suggestions about this?
> >>>
> >>> On 6/18/11, Aman <aman.6...@gmail.com> wrote:
> >>>> Hi Jim,
> >>>> The way you mentioned, that will take care of these suggestions,
> >>>> thanks for the same. But here's a tougher problem....
> >>>> If I have a database of 50k people, and I want to find friends based
> >>>> upon the places that those 50k people have visited (i.e. People who
> >>>> have visited same places as me should be suggested as friends to me),
> >>>> then how to to that... I've thought all that I could, but I always
> >>>> come up with something stupid... Any suggestions about this?
> >>>>
> >>>> On 6/18/11, Jim Webber <j...@neotechnology.com> wrote:
> >>>>> Hi Aman,
> >>>>>
> >>>>> I'm puzzled.
> >>>>>
> >>>>> Why not
> >>>>>
> >>>>> Aman--HAS_VISITED-->USA
> >>>>> Jim--HAS_VISITED-->India
> >>>>>
> >>>>> And if:
> >>>>>
> >>>>> Aman--FRIEND-OF-->Jim
> >>>>>
> >>>>> Then you just need to traverse from Aman following outgoing FRIEND_OF
> >>>>> relationships to all your friends, and then traverse out their
> >>>>> outgoing
> >>>>> HAS_VISITED relationships to find places your friends have been.
> >>>>>
> >>>>> The general idiom with Neo4j is use indexes the find your start node
> >>>>> (e.g.
> >>>>> the Aman node in the above) then traverse from there.
> >>>>>
> >>>>> Jim
> >>>>>
> >>>>> _______________________________________________
> >>>>> Neo4j mailing list
> >>>>> User@lists.neo4j.org
> >>>>> https://lists.neo4j.org/mailman/listinfo/user
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Amandeep
> >>>> +91-9878483857
> >>>>
> >>>
> >>>
> >>> --
> >>> Amandeep
> >>> +91-9878483857
> >>> _______________________________________________
> >>> 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
> >>
> >
> >
> > --
> > Amandeep
> > +91-9878483857
> >
>
>
> --
> Amandeep
> +91-9878483857
> _______________________________________________
> 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