Xesam meta-meta-data spec needs attention.

Evgeny Egorochkin phreedom.stdin at gmail.com
Fri May 4 22:42:06 EEST 2007


On Friday 04 May 2007 21:04:19 jamie wrote:
> On Fri, 2007-05-04 at 18:27 +0300, Evgeny Egorochkin wrote:
> > This apparently solves the storage issue for this particular case.
> > However, there are several shortcomings:
> > 1) Structures are not extensible.
> > 	*You cannot define generic structure for an OO language and subclass it
> > if necessary.
> > 	*Applications can't add custom fields to existing structures.
> > 2) Data retrieval.
> > If you put the whole structure in a single property, you make it hard
> > e.g. to use several  files to describe a single structure. Also, it is
> > hard to interlink classes e.g. point to ancestor class(es).
> > If you make all structure nodes e.g. c++ classes high-level nodes just
> > like files, you get an issue with node classes which cannot be resolved
> > by introducing node type property due to lack of inheritance.
>
> the struct type is a resource in rdf terminology not a literal so it
> should not have any additional limitations as such. The Child metadata
> can be optional (just as in an rdf schema)  and theres no reason to not
> make it extensible.
>
> We can easily add an Extensible property to the desktop file like :
>
> [Email:Address]
> DisplayName=Email:Address
> Type=struct
> Children=Contact:Name;Contact:Email;
> Extensible=true
>
> where Children are the required members of a struct (this is same as
> having an rdf schema with property minOccurs=1 against them)
>
> I dont see any limitations here - its more a question of nailing down
> what properties of a metadata type are needed to satisfy application
> needs.
>
> > and the reason we experience these thoubles is...
> >
> > 3) This approach departs from RDF in the sense that RDF is
> > property-centric(not class defines its properties, but properties define
> > their class) and omits class type information which is quite essential.
> > This quite expectably backfires.
>
> There is class info - the metadata types themselves are classes and you
> can subclass them.
>
> > As you can see, implementing e.g. a generic source code browser is
> > problemmatic with this approach.
>
> I dont think so - by supporting struct metadata we can support any
> deeply nested structure just like RDF.

Thanks for clarification.

Jamie suggests to use Type=struct to specify that [$URI] is a rdfs:class, any 
other value Type=$1 to specify that [$URI] is a rdf:property with range=$1.
ParentUri=$P_URI or similar translates to either rdfs:subClassOf or 
rdfs:subPropertyOf.

This is essentially another RDF serialization (without named graph 
extensions).

--Evgeny



More information about the xdg mailing list