(I saw your newer patch you sent directly to me, but continuing discussion here though). With reservation for sounding a bit negative, here's my answer to your questions/issues.
The meta model is indenpendent of the rdf layer (although some method names indicate otherwise :) ), so consider that it can be used separately. 2010/4/7 Niels Hoogeveen <pd_aficion...@hotmail.com> > Hi Mattias, > > Today I worked on a modification to the Meta Model component, which I would > like to submit as a patch. > > Each MetaModelObject now has a "name", but no "uri", something the RDF > module works with. > > To make this possible, I added IndexService as an argument to > MetaModelImpl, so the "uri" property gets indexed, just like it is in the > RDF module. > I don't like using the same index ("uri") as the rdf component. It could potentially lead to unexpected/unwanted behaviour. Instead work was started (but not completed) to integrate the meta model into the rdf layer so that some statements, f.ex http://something,<rdf:type>,http://some-type could be converted into operations on the meta model instead (class.getDirectInstances().add(...)) where the "http://some-type" would be(come) a meta model class which was created on demand, instead of a normal RDF resource node. Coming to think of it, the "uri" index in the rdf component could be called "rdf_uri" or something like that instead to not conflict with other keys/components (although it could as well anyways). > > Furthermore I changed in semantics of the "name" field for names that don't > belong to the global namespace. > > Consider the following: > > namespace name: http://dash.org/ontology# > > class name: Toy > > property name: isMadeInChina > > class uri: http://dash.org/ontology#Toy > > property uri: http://dash.org/ontology#isMadeInChina > > For namespaces that use slash naming instead of dash naming, class uri's > will have a trailing slash: > > namespace name: http://slash.org/ontology/ > > class name: Toy > > property name: isMadeInChina > > class uri: http://slash.org/ontology/Toy/ > > property uri: http://slash.org/ontology/isMadeInChina > > In the global namespace, name and uri are always the same, so the changes > have no immediate impact on the meta model import, except for the creation > of an extra "uri" property, which has a value equal to that of the name > property. > > I think eventually it would be an improvement to load each ontology in its > own name space, in which case some modifications should be made to the OWL > and RDF importers to strip the name space prefix off the name. > We did this intentionally because we wanted to get away from all this splitting/glue:ing of URIs which is just a hassle and is deemed to break down in one or more cases (with the use of '/' and '#' and what not). The namespace feature is really there to be able to support RDF-style AND an OO-style layout where namespaces would be used to resolve conflicts in class names (much like packages in java). The RDF-style layout needs no namespaces since the URIs contain namespaces themselves. > I supplied the patch in a zip attached to this email. I modified the tests > of both meta-model and meta-model-import, since there is an extra argument > for the index service, that needs to be provided. I have built both projects > using maven and all tests passed. > > Would you agree on any of my points made here, or am I missing your points perhaps? > Kind regards, > Niels Hoogeveen > > > > Date: Tue, 6 Apr 2010 10:08:29 +0200 > > From: matt...@neotechnology.com > > > To: user@lists.neo4j.org > > Subject: Re: [Neo] DatatypeClassRange usage > > > > Yep, the full class name is expected. The meta model has (as you can > tell) a > > long way to go to become really useful and I see that you're really > testing > > and using this component. > > > > Since we're not working on the meta model at the moment it'd be very nice > if > > you could fix/change/add stuff that doesn't work and supply patches or > get > > commit rights to that component or something like that! > > > > Cheers, > > Mattias > > > > 2010/4/6 Niels Hoogeveen <pd_aficion...@hotmail.com> > > > > > > > > Thanks. > > > > > > I was trying to use the MetaModel without using the RDF layer, but I > see I > > > end up duplicating a lot of functionality that way. Maybe time to move > to > > > the RDF side of things. > > > > > > Kind regards, > > > Niels Hoogeveen > > > > > > > From: rick.bullo...@burningskysoftware.com > > > > To: user@lists.neo4j.org > > > > Date: Mon, 5 Apr 2010 12:38:51 -0400 > > > > Subject: Re: [Neo] DatatypeClassRange usage > > > > > > > > In "theory" the isAssignableFrom method on the underlying MetaModel & > > > Range > > > > classes should be able to test for a legal/automatic type conversion, > but > > > it > > > > looks like that code is commented out in the current version of the > > > > Validator class. In any case, it certainly seems that using the > normal > > > > reference classes for the primitive types should work fine. > Nullability > > > is > > > > another benefit of using the reference classes. > > > > > > > > -----Original Message----- > > > > From: user-boun...@lists.neo4j.org [mailto: > user-boun...@lists.neo4j.org] > > > On > > > > Behalf Of Niels Hoogeveen > > > > Sent: Monday, April 05, 2010 8:42 AM > > > > To: user@lists.neo4j.org > > > > Subject: Re: [Neo] DatatypeClassRange usage > > > > > > > > > > > > If only reference classes can be added, what are appropriate types. > > > Should I > > > > use java.lang.Integer when the underlying property value is and "int" > and > > > > java.lang.Long when using a "long"? > > > > > > > > Kind regards, > > > > Niels Hoogeveen > > > > > > > > > From: pd_aficion...@hotmail.com > > > > > To: user@lists.neo4j.org > > > > > Date: Sat, 3 Apr 2010 01:52:06 +0200 > > > > > Subject: [Neo] DatatypeClassRange usage > > > > > > > > > > > > > > > To model the datatype of a property, I tried to use the > > > > DatatypeClassRange. It seems this object only accepts reference > classes, > > > not > > > > primitive classes. > > > > > > > > > > I would like to state that a certain MetaModelProperty has the > datatype > > > > "int". To do so, I thought I would have to provide the > MetaModelProperty > > > > with a PropertyRange. The DatatypeClassRange seemed the only suitable > > > > option, but its fromStringRepresentation method loads the class > through a > > > > Class.forName, so class "int", is of course not found, and the load > of > > > the > > > > PropertyRange results in a ClassNotFoundException. > > > > > > > > > > Is this a bug, is this a feature? > > > > > > > > > > Kind regards, > > > > > Niels Hoogeveen > > > > > > > > > > > > > > > _________________________________________________________________ > > > > > Express yourself instantly with MSN Messenger! Download today it's > > > FREE! > > > > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > > _______________________________________________ > > > > > Neo mailing list > > > > > User@lists.neo4j.org > > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > _________________________________________________________________ > > > > Express yourself instantly with MSN Messenger! Download today it's > FREE! > > > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > _______________________________________________ > > > > Neo mailing list > > > > User@lists.neo4j.org > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > _______________________________________________ > > > > Neo mailing list > > > > User@lists.neo4j.org > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > _________________________________________________________________ > > > New Windows 7: Find the right PC for you. Learn more. > > > http://windows.microsoft.com/shop > > > _______________________________________________ > > > Neo mailing list > > > User@lists.neo4j.org > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > > > > -- > > Mattias Persson, [matt...@neotechnology.com] > > Hacker, Neo Technology > > www.neotechnology.com > > _______________________________________________ > > Neo mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > ------------------------------ > New Windows 7: Find the right PC for you. Learn > more.<http://windows.microsoft.com/shop> > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user