Xesam meta-meta-data spec needs attention.
Sebastian Trüg
strueg at mandriva.com
Wed May 2 05:26:14 PDT 2007
On Monday 30 April 2007 23:40:37 Phreedom wrote:
> I'm writing this on behalf of Strigi project.
>
> It's important to finish Xesam specs as soon as possible since lots of code
> and work starts to depend on meta-meta- and meta- data spec and it gets
> more and more complicated to make changes.
>
> I believe Xesam metadata bainstorm wiki page has shown that proposals
> mostly split along .desktop vs RDF representation line, with the essense
> being very similar. So it's about time to finish meta-meta-data and start
> actively working on meta-data spec.
>
> Another concern is KDE feature freeze on 1th june which is also going to
> affect our ability to implement Xesam.
>
> At the end of the e-mail is our lastest proposal for meta-meta-data
> specification.
>
> Best wishes,
> Evgeny
>
> Format specification of .fieldproperties files(DRAFT)
> ===========================================================================
>===========
>
> [Field]
> Uri=$URI
> ParentUri=$PARENTURI
> Name=$NAME
> Name[$LANG]=$LOCALIZED_NAME
> Description=$DESCRIPTION
> Description[$LANG]=$LOCALIZED_DESCRIPTION
> TypeUri=$TYPE
> Values=$VALUES
> Values[$LANG]=$LOCALIZED_VALUES
> Range=$RANGE
> MinCardinality=$MIN_CARDINALITY
> MaxCardinality=$MAX_CARDINALITY
> Indexing=$INDEXING
> Relevance=$RELEVANCE
> Comment=$COMMENT
>
> $URI(required)
> Unique resource identifier of the property. Internally properties are
> identified by this ID.
> Alternative to this would be [$URI] instead of [Field].
I agree with Mikkel here that we should not have multiple groups with the same
name.
> $PARENTURI
> URI of parent property. Parent relation is similar to inheritance.
> Usually child property
> introduces some specifics/limitations/implications compared to its
> parent.
> $NAME(required), $LOCALIZED NAME
> Short user-friendly name. This is the name users will see when file
> metadata is displayed to them.
>
> $DESCRIPTION(required), $LOCALIZED_DESCRIPTION
> User-friendly property description. This is the description of property
> suitable for tooltips.
>
> $TYPE(required)
> Property data type.
> Valid values: string, string_enum, string_enum_ext, integer, float,
> boolean, datetime, binary.
> string_enum type is a property that can only take one of the list of
> valid values provided by $VALUES.
> string_enum_ext type is a property that can take any string value,
> however $values list provides
> suggested values of this property.
How about using xml schema types here. That way a later mapping to RDF will be
easy and Nepomuk can stay compatible without an artificial mapping.
The only problem here are the enumerations. XML Schema does support creating
enumerations but I think they are complex types. How about this: the type
will stay a string or an int or whatever. But if the VALUES field is set it
is to be treated as an enumeration. I don't think we need the extra types
here.
> $VALUES(required if $TYPE=string_enum or string_enum_ext),
> $LOCALIZED_VALUES Property value constraints. Default = no constraints.
> if $TYPE=integer|datetime|float, $VALUES=value1|value2|value3
> if $TYPE=string, $VALUES=validation regexp
> if $TYPE=string_enum, $VALUES=value1|value2|value3
> if $TYPE=string_enum_ext, $VALUES=value1|value2|value3|*(or)
> This syntax lets us directly use $VALUES as a regexp for validating user
> input. Yet it's syntax
> is developer- and translator- friendly.
> Suggestions on regex subset are welcome. KDE and Strigi is going to use
> QValidator and QRegExp for this.
>
> $RANGE
> Numeric property allowed value range. Default = no constraints.
> $RANGE=[minValue,maxValue>
> [ and ] = inclusive. < and > = exclusive.
Actually there is no need to have RANGE and VALUES. Just merge them into
range:
RANGE=1,4,5,2.3
RANGE=1-7
RANGE=hello,bello,wello
> $MIN_CARDINALITY
> Minimum cardinality. Minimum number of properties of this type you must
> set for a given file.
> Lets specify mandatory properties. Default is 0.
>
> $MAX_CARDINALITY
> Maximum cardinality. Maximum number of properties of this type you can
> set for a given file.
> Default is infinity.
>
> $INDEXING
> Values=fulltext, atomic, none, TBD. Default = TBD.
what is this supposed to do?
> $RELEVANCE
> Defines how relevance of the file is affected if a match is found in this
> field. Default = 1.0
>
> $COMMENT
> Developer comment. Users won't see this.
> _______________________________________________
> xdg mailing list
> xdg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xdg
More information about the xdg
mailing list