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

Reply via email to