[Grok-dev] Re: Implementing an N-to-N relationship

Fernando Correa Neto fcdoth at gmail.com
Mon May 28 13:00:28 EDT 2007


On 5/28/07, Martijn Faassen <faassen at startifact.com> wrote:
> Luciano Ramalho wrote:
> > Kirbi entities include Books and Creators [1].
> >
> > [1] http://circulante.incubadora.fapesp.br/portal/about/Entities
> >
> > For example, "The Annotated Alice" is an instance of Book, ISBN-13
> > 978-0393048476.
> >
> > Lewis Carroll, John Tenniel and Martin Gardner are instances of Creator.
> >
> > In the case of "The Annotated Alice", Lewis Carroll is the author,
> > Martin Garnder is the editor, and John Tenniel is the illustrator.
> > Martin Gardner is also the author of "Fads and Fallacies in the Name
> > of Science".
> >
> > So this is an example of an N-to-N relationship with an annotation
> > which defines the role  of the creator (just as string like "author",
> > "illustratior" etc.)
> >
> > Should I have a CreatorRole class, or is there a more lightweight way
> > of doing this with Grok?
> We don't have a relationship system for Grok. Yet. This is something I'm
> personally quite interested in as well. If this is going to come up a
> lot with your project, I'd be happy if you did some work on this. :)
> Concerning references, we have Vidar Svansson in our community, who is
> currently on a summer of code project writing a meta-model for, among
> others, Grok (in the context of Genesis, the next-gen ArchGenXML). I
> invite Vidar to say something about his ideas of what references could
> look like.
> We should also definitely look at the zc.relationship package. It's a
> very powerful package that can do a lot of references work. It's low
> level but we should definitely consider this as a basis for any grok
> reference implementation.

I would definitely have a look at schoolbell.relationship package. It
can handle N-to-N relationships and was based on the ideas of Xlink
and RDF.
I does not rely on catalog thought. It uses annotations for storing
In a grok context, it would be much easier to create a basic
implementation than going with zc.relationship.
I remember that reading the zc.relationship book (README.txt :-) ) was
something difficult to get (not impossible).  As Martijn said, it's
low level and for my application at that time, was something that I
couldn't afford.

Anyways, try to take a look at that.


> Finally, there is RDF. It makes sense if you took a look at how RDF
> models relationships. Not because we want RDF support any time soon, but
> to check whether we aren't leaving out something important.
> Regards,
> Martijn
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> http://mail.zope.org/mailman/listinfo/grok-dev

More information about the Grok-dev mailing list