2007/5/1, Evgeny Egorochkin <<a href="mailto:phreedom.stdin@gmail.com">phreedom.stdin@gmail.com</a>>:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Tuesday 01 May 2007 07:56:30 Mikkel Kamstrup Erlandsen wrote:<br>> > $URI(required)<br>> > Unique resource identifier of the property. Internally properties are<br>> > identified by this ID.<br>> > Alternative to this would be [$URI] instead of [Field].
<br>><br>> I would go for the alternative since we need this to be able to have<br>> multiple field defs in one file. This is because the format spec for<br>> .desktop files requires that group headers are unique. I know we can't
<br>> follow the .desktop spec to the letter but we might as well aim as close as<br>> possible.<br><br>We'll do as you say.<br><br>> > $RANGE<br>> > Numeric property allowed value range. Default = no constraints.
<br>> > $RANGE=[minValue,maxValue><br>> > [ and ] = inclusive. < and > = exclusive.<br>><br>> Can you mix the braces like [0,1>. I'm not 100% sure this syntax is<br>> possible with a .desktop like spec. I'm mostly worried about the ['s also
<br>> used for group headers.<br><br>We could use {} or () instead.<br><br>> $MIN_CARDINALITY<br>><br>> > Minimum cardinality. Minimum number of properties of this type you must<br>> > set<br>> > for a given file.
<br>> > Lets specify mandatory properties. Default is 0.<br>><br>> Is there any example of a mandatory property? Does it even make sense?<br><br>File name or URI?</blockquote><div><br><br>I don't see why they have to be mandatory. Not everything comes from a file.
<br><br>In the search API it is specifically avoided to use global identifiers for objects - as fx a mandatory uri would be. My opinion is that we shouldn't *force* URIs or any mandatory property onto any object.<br><br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> $MAX_CARDINALITY<br>><br>> > Maximum cardinality. Maximum number of properties of this type you can
<br>> > set<br>> > for a given file.<br>> > Default is infinity.<br>> ><br>> > $INDEXING<br>> > Values=fulltext, atomic, none, TBD. Default = TBD.<br>><br>> Can you please describe what these values mean? I think I get it, but let's
<br>> be sure :-)<br><br>I'm not sure myself :)<br>Fulltext is supposed to be indexed for full-text search.</blockquote><div><br>So fulltext is text that should be tokenized, filtered for stop words, stemmed, and indexed, right?
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Atomic is for numbers, enum-like fields(controlled vocabulary)</blockquote><div>
<br>Atomics should be indexed as one searchable chunk. No stemming, splitting, filtering. Just stick it in the index..?<br>
<br>
What about TBD?<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">None is self-explanatory.</blockquote><div><br>Yes - don't index this field. But I take it you can still retrieve the value of it... Or else there is no reason defining the field in the first place...
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I'd appreaciate feedback on this. Is it always possible to derive this from
<br>field type or not?</blockquote><div><br>I don't think you can derive it always. Think of some app that stores some unique string ID along side all objects. It might want to be able to search for these IDs, but it surely don't want them tokenized just because they might contain a space. In this case the app would want to use INDEXING=atomic.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I've intentionally omitted field properties IsWritable and<br>IsIntrinsic(Embedded). The reason for this is we never know in advance. These
<br>values should be queried for specific files.</blockquote><div><br>Yes. We discussed this on IRC and ended up agreeing that it belongs as methods in a Metadata service API. <br></div><br>This reminds me that we could use an IRC channel somewhere...
<br><br>Cheers,<br>Mikkel<br></div>