Hi Luca:

I have replied inline - thanks for taking the time to look at this. If it helps you can check out the source code and
try creating a few test cases.

This is a good time for us to be talking about the design and making sure it meets your needs.

Hi all,

today I discussed with Paolo Rizzi about the possible problems which might arise when using our metadata infrastructure model against the latest GML specs and the latest developements/proposals from you on Feature /FeatureType/schema model.

I updated the following page with a brief explanation of the metadata model we used to develop all the metadata infrastructure:

http://www.geotools.org/Meta+Information+Infrastructure
Thank you for that - I do need to ask one question - and it may come down to a language difference between us.

You list the following GeoTools FeatureType limitations:

   1. Primary keys
   2. Associations between feature types
   3. Inheritance between FT

As being the reason for your use of a Metadata model.

The language question is this. FeatureType *is* metadata about the feature data. In addition applications also like to track *metadata* about other aspects of the data (like keywords, description and so on). Eventually we need the facility to handle both: FeatureType and Application specific metadata.

I would like to confirm that if we fix these problems in GeoTools there will be less work for your Metadata model to do?

And now for your list ....
1. Primary Keys
There is an interesting relationship between Primary Keys and FeatureID. We have focused mostly on keeping the process of FID generation opaque, and often primary keys used to generate the FID end up "hidden". The thought being that FeatureID is supposed to handle this task.
2. Assoications
Gabriel also brought up this issue, and it is what getID is used for. Specifically it was phrased in terms of "References", and was not limitied to Features (a reference could also be to a Geometry). The long and short of it was to capture Feature associations as a Choice between a Feature and a Reference<Feature>.
3. Inheritance between FT
I think this one is well covered, we went with an "override" idea and are providing guidelines for XMLSchema style extention and restriction.

This metamodel works fine with the old FeatureType/AttributeType -> Feature/Attribute model.
You should be okay with the new system then, indeed when working with simple content like shapefiles and databases you should not notice the difference.

As this metadata model is widely used in our codebase for all the schema & data handling / transaction / validation / catalog operations, our main concern is keeping the greatest backward compatibility, yet allowing for further enhancements of the model like nested features, ChoiceSchemas, Complexes and so on - enhancements who have been discussed recently and still are being discussed.
We did have an IRC meeting in which we decided to break backwards compatability in order to fix the model. I would like to go halfway with you on this, set up the old interfaces/implementations
as extentions of the new model and depricate them.

We may not be able to get 100% backwards compatibility (not should we try), but offering a sensible
upgrade path will need to be part of the adoption plan.

At a first glance it seems that many contraints which come directly from adopting GML specs, are likely to cause troubles - i.e. having an ID at the Geometry (thus attribute) level, or allowing for multiple instances of the same atomic attribute. In other cases a mapping can be easily found - nested Features can be represented by associations, for example.
It seems my description of associations was not required :-) I initial had Geometry as a ComplexAttribute (as you can query it with XPath), Gabriel asked me to make it extend Attribute and thus ID moved to Attribute. AttributeType does record if ID is allowed to be null - that is not all Attributes have/need an ID (and the Type system tells you so).

If we are willing to get into GeoServer / GeoTools all the work which prizzi has done/ is doing on transaction and meta engine, we should be sure that Feature model and metadata structure are compatible.
As mentioned above it is my hope that the two can compliment each other. One of the reasons we did not know to talk to was a poor assumption: I assumed you were fixing the "Application metadata problem" - I did not know you were using it to "patch up" the holes in the geotools feature model.

I like the idea of metadata giving us the ability to share different views of the same data - like the ideas exposed for the ComplexDataStore.
Hopefully Gabriel will have more to say on that side of things. Sharing views on the same data is ill defined by the specifications right now - they are supposed to have the same feature ID, even though the FeatureType will be different (!)

In the next days (when I'll find the time, alas) I'll try to dig more in the GML specs and in your proposals (I find hard to understand the separation between Type and Schema), and see if we can tailor the metadata model to the new specs in a painless way. Meanwhile, any comment will be greatly appreciated.
Commented, one thing we can do (since both yourself and Gabriel are in Europe), is set up a time for a break out IRC session. That is like a geotools meeting, but less formal, and we can choose a time when it is daylight for all of us.

Thanks for your feedback,
Jody


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to