2010/5/21 Niels Hoogeveen <pd_aficion...@hotmail.com>: > > I have changed the enum META_IS_INSTANCE_OF into META_HAS_INSTANCE, which > also means that its direction has changed. > META_IS_INSTANCE_OF goes from node to ClassMETA_HAS_INSTANCE goes from Class > to node. > I made this change to accommodate MetaModelMetaClass (which I still need to > add), where it is possible to model the Relationships and Properties of > MetaModelObjects. Node is not part of the meta model, so it would not have > been possible to model the instances of a class. Changing the direction of > the RelationshipType was needed to make that possible. > I checked the dependencies in the RDF model, and apparently > InstanceOfCollections is a class that is not in use. I assume it is a relic > of an early attempt to integrate the RDF component and the Meta Model > component. Maybe someone can double check this and remove that class and the > validator. I don't think I have access privilege to the RDF component, so I > can't do that myself. > As to the issue of migrating from Meta Model 0.8 to Meta Model 0.9 there are > more issues than only META_IS_INSTANCE_OF. In 0.8 there is no distinction > between MetaModelProperties and MetaModelRelationships, so MetaModelPropery > instances need to be checked and the relationship META_PROPERTY needs to be > changed in META_RELATIONSHIP if the range of the MetaModelProperty belongs to > a MetaModelRelationship. > I am not sure if there are any other people using the Meta Model component at > the moment, but it is certainly good to consider migration code anyway, not > only for the Meta Model component but any component that uses predefined > relationships and properties (RDF component eg.). To do so, we need to know > what version(s) the database is in. Something not encoded right now. The Meta > Model component may have changes from version 0.8 to 0.9, but it's > conceivable there will be changes from 0.9 to 1.0 too. In that case users > migrating from 0.8 to 1.0 will have to migrated twice. So it's imperative we > start adding version numbers to the database. > An option is to add version number properties to the reference node. As of > 0.9 the Meta Model component, upon start, can check if there is a property > "meta_model_version" for the reference node, if not run the (0.8 to 0.9) > migration code, and add the property "meta_mode_version" with value "0.9". A > similar construct can be used for the RDF module, and possibly other modules > I haven't thought about that add data to the graph according to fixed > patterns.
Regarding the InstanceCollection, it has been used in MetaModelClass.get*Instances methods so other applications might have used it (and thereby created such relationships) Yes, such migration/version information and code would be handy... a nice place would be to add such a version to the meta model subreference node: (referenceNode)--[REF_TO_META_SUBREF]-->(metaModelSubRefNode) > > >> Date: Fri, 21 May 2010 11:44:00 +0200 >> From: matt...@neotechnology.com >> To: user@lists.neo4j.org >> Subject: Re: [Neo] Lookup property range, was Lookup property name >> >> 2010/5/20 Niels Hoogeveen <pd_aficion...@hotmail.com>: >> > >> > I realize I had to compile the RDF component against the current Meta >> > Model component. There are some breaking changes in Meta Model that >> > require modification in the RDF component. Validator.java needs to be >> > looked into, since >> >> I don't think Validator.java has ever been used so feel free to delete >> that or rewrite it completely, preferably as a >> TransactionEventHandler. >> >> MetaModelRelationships have been split off of MetaModelProperties. >> InstanceOfCollection needs to be changed as well, since >> META_IS_INSTANCE_OF, has been changed in META_HAS_INSTANCE. >> >> Oh, you've changed the name of a relationship type? Then you should >> think about having migrating code for meta models which are modelled >> in the meta-model before your changes were made, otherwise those would >> break at runtime. >> >> Regarding the RDF component, it should be updated to use the latest >> version of the meta-model as soon as someone get time and the >> meta-model is in a good shape. >> >> > Niels >> > >> >> From: pd_aficion...@hotmail.com >> >> To: user@lists.neo4j.org >> >> Date: Thu, 20 May 2010 21:31:40 +0200 >> >> Subject: Re: [Neo] Lookup property range, was Lookup property name >> >> >> >> >> >> The title should of course be Lookup property range. >> >> >> >> > From: pd_aficion...@hotmail.com >> >> > To: user@lists.neo4j.org >> >> > Date: Thu, 20 May 2010 21:17:05 +0200 >> >> > Subject: [Neo] Lookup property name >> >> > >> >> > >> >> > When trying to add a statement with the RDF model, using the latest >> >> > version of meta model (the one I have been working on), I get the >> >> > following error message: >> >> > Exception in thread "main" java.lang.NoSuchFieldError: >> >> > LOOKUP_PROPERTY_RANGE at >> >> > org.neo4j.rdf.store.representation.standard.StandardAbstractRepresentationStrategy.getPropertyRange(StandardAbstractRepresentationStrategy.java:136) >> >> > at >> >> > org.neo4j.rdf.store.representation.standard.StandardAbstractRepresentationStrategy.pointsToObjectType(StandardAbstractRepresentationStrategy.java:142) >> >> > at >> >> > org.neo4j.rdf.store.representation.standard.StandardAbstractRepresentationStrategy.objectIsObjectType(StandardAbstractRepresentationStrategy.java:219) >> >> > at >> >> > org.neo4j.rdf.store.representation.standard.VerboseQuadStrategy.getAbstractRepresentation(VerboseQuadStrategy.java:62) >> >> > at >> >> > org.neo4j.rdf.store.RdfStoreImpl.addStatement(RdfStoreImpl.java:89) at >> >> > org.neo4j.rdf.store.RdfStoreImpl.addStatements(RdfStoreImpl.java:72) >> >> > Of course I'd like to correct this, but don't really see why I get this >> >> > exception. >> >> > Niels >> >> > _________________________________________________________________ >> >> > 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 >> >> >> >> _________________________________________________________________ >> >> 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 >> > >> > _________________________________________________________________ >> > 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 >> > >> >> >> >> -- >> 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 > > _________________________________________________________________ > 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 > -- 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