Tuesday, 25 January 2005

Meta Meta Meta Data Draft 0.2

Previous drafts are 0.1 and 0.1b.

For your viewing convenience, I have copied the essence of the 0.1 draft below:

Say we have a set of data, let call it S1 with elements s11, s12, s13, ... s1n. These elements was referred to as type 1 data in the previous paper.

Now, apply a "meta" operation* on each of the element in S1 which will produce a set S2 with elements s21, s22, s23, ... s2n where s21 is the metadata of s11. These elements ( s21, s22, s23, ... s2n) was referred to as type 2 data in the previous paper.

Note that elements of S2 are data as well. These elements are themselves type 1 data and hence we can apply "meta" operation on these as well to produce another set of type 2 data. This is infinitely recursive.

What is interesting, and perhaps confusing, is that there exist more than one meta operation. In fact, there are infinite number of meta operations. Each meta operation will produce a set of Type 2 carrying the implicit characteristics of the meta operation. We further define a meta-meta operation as an operation on a set S which will extract the common characteristics all elements in the set S2 to produce M1. Since there are infinite number of possible meta operations, there exists infinite number of characteristic, M1, M2, M3,... Mn,... Each of these characteristics, when expressed in as data, is what we refer to as type 3 data in the previous paper.

An example of Mi may be the Dublin Core specification, which defines a particular meta operation. The process of producing M1 is the meta-meta operation. Different community of practice will obviously have their own variations of meta operation (adoption and extension of DC) producing Mi.

Meta-meta operation applies on data elements. Since type 1 data is data, we can also meta-meta operation on type 1 data. One of the possible characteristics of type 1 data is the link information among the elements. This link information has been an important information to determine the "page-rank" in Google's search result. Again, there are other meta-meta operation which can be applied to type 1 as well as type 2 data.

The utility of this data model may be used to understand the work in metadata....

*A meta operation may be the extraction of metadata from the type 1 data, such as assigning dc.creator (in type 2 data of this post) to the value "Albert Ip" (for this particular post, which is type 1 data in this case). Another meta operation may be to create the frequency count of all the words used in this post.


David Gibson has sent a comment regarding the idea (on Mon, 24 Jan 2005 09:18:13 -0800 (PST)):

What prevents there being an infinite number of meta-4's (pardon the pun). You have defined up to the meta-meta-meta right? It seems that third level is mining the metadata schemas. And it seems that one could keep positing operations on the previous level. Why does it stop with 3 levels?


Thank you, David, for this very thought-provocative comment which helps me clarify some points in this concept.

The first meta operation (which applied on S1) is like the "traditional" metadata extraction. The operation applies on the individual elements of the Set S1. This model recognizes that there are many different types of meta operations, including the variation of the metadata schemes, or fundamentally different alogrithm, such as using inverted index.

We can say:

S2 is the result of operation m on S1 if and only if

for each element s2i in S2, s2i=m(s1i)


The meta-meta operation (or should we write it as Meta operation) operates on the set S1 to provide a datum m1 (was M1 in draft 0.1). Again, we note here that there are many different M operations resulting in m1, m2,...,mi,... which collectively are members of the set M1.

Since M1 is a set of data, we can apply meta-operation on it to produce a set of metadata for each element of M1. Alternately, we can apply a Meta-operation on the set M1 to produce one datum representing a common characteristic of the set M1.

I think the last paragraph here is the unclear point in draft 0.1.

No comments: