Hi,
Correct me if I'm wrong, but: your argument against using categories only as
indicators of "class" (which is still my preferred approach) seems to be
two-fold: first, that their ease-of-use makes them preferable to using
semantic properties - in other words, it's a waste of the nice functionality
of categories to only use them for limited purposes; and second, that
categories and classes are two different things that don't really make sense
being conjoined anyway. Is that right?
If so, I would actually disagree with both of those: for the first, it's
true that categories automatically create a nicely-formatted page listing
all of their members; but it's not that hard to create a page that could
create a similar list using an inline query or, yes, an inline query
template; and inline queries are in some ways better, in that they allow you
to display additional information on each page. Maybe what would help would
be a format for inline queries that mimics the nicely-alphabetized structure
of category pages?
For the second, I would argue that categories are in fact a good match for
classes. They both generally allow only one kind of relationship to them
("is-a"), and they both have automatic inheritance, meaning that if you
belong to a class or category, you're automatically a member of any of its
parent classes or categories.
-Yaron
On Tue, Mar 4, 2008 at 12:35 AM, Jon Lang <[EMAIL PROTECTED]> wrote:
> S Page wrote:
> > (Mr. Lang/Dreamweaver, welcome to SMW!)
>
> Thank you! (And it's Dataweaver.)
>
> > Yaron Koren wrote:
> > > The topic *has* been discussed before,
> > Indeed, e.g.
> >
> http://www.mail-archive.com/[EMAIL PROTECTED]/msg00503.html
> >
> > > [The documentation] should be updated to indicate that this is a
> > > description of the way things *currently are*,
> > > not at all a recommendation
> >
> > I think I wrote
> > http://semantic-mediawiki.org/wiki/Help:RDF_export#Categories, and I'm
> > not sure how to improve it. The way SMW's RDF export works is a fact,
> > and "There are many usages of MediaWiki categories that conflict with
> > these semantics" is another fact, it's not a recommendation.
>
> That's how I took it: as a pair of conflicting facts, not as a
> recommendation for how things _should_ be.
>
> > Indeed, this topic arises regularly. However, I believe most SMW wikis
> > don't do anything with RDF export. (If anyone is doing slick reasoning
> > with SMW's RDF, speak up and tell us more!) In those wikis,
> conflicting
> > usage of MediaWiki categories won't hurt.
>
> In other words, most SMWs can ignore the problem. I suppose that's
> true; but it still rubs me the wrong way that you _can't_ draw a
> distinction even if you want to.
>
> > *If* accurate RDF representation of your wiki matters, then you have to
> > decide how to handle categories. There is no best practice here.
> > Dataweaver's proposal is doable, though a bit complex.
>
> It can be streamlined. The core of it is to provide one means of
> associating a page or category with a category that represents an is-a
> relationship, and a separate means that doesn't represent an is-a
> relationship. My own preference would be to use the term "class" to
> refer to the former and "category" to refer to the latter; but I can
> see the argument for continuing to use "category" for the former and
> coming up with some other term (e.g. "topic") for the latter. To
> illustrate:
>
> First approach:
> '[[Class::foo]]' declares the subject of the article to be a member of
> foo.
> '[[Category:foo]]' declares that the article discusses a subject
> involving foo.
>
> Second approach:
> '[[Category:foo]]' declares the subject of the article to be a member of
> foo.
> '[[Topic::foo]]' declares that the article discusses a subject
> involving foo.
>
> > In my opinion, rather than SMW standardizing on any one elaborate
> > handling of categorization, it would be better if SMW generalized some
> > of the useful behavior of MediaWiki categories, such as:
> > * Displaying anything annotated [[subClassOf::Xyz]] when you view
> > article Xyz, the same way MediaWiki displays subcategories of
> Category:Xyz
>
> Would you also include a [[Type::Xyz]] annotation or something similar
> to indicate that one page describes an instance of the class described
> by another page?
>
> I can see this getting really messy, really fast. Better to keep the
> classes and instances in separate namespaces.
>
> > * Performing transitive queries when you query any property annotated
> as
> > owl:TransitiveProperty, the same way SMW queries for articles in
> > subcategories when you query on Category:Xyz.
>
> That would be useful, yes - as long as I can ignore the transitive
> characteristic of a property if I only want direct associations.
>
> > Then you could leave categories with their strict interpretation in
> SMW,
> > while adding your own classification properties that have useful
> > behavior. Note that even without PHP code hacking you can make your
> own
> > Property:TopicRelatedToSubclassOf have useful behavior by putting
> inline
> > query templates on pages.
>
> True enough. Of course, the advantage of using Categories for this is
> that I don't _have_ to put an inline query template on the page: a
> category page automatically queries for all pages that have it as a
> category.
>
> > > - I believe that
> > > categories should only ever be used to indicate class. Otherwise, as
> you
> > > note, the current system would need a variety of changes to be able
> to
> > > differentiate the one kind of category from the other.
> >
> > Exactly.
>
> The problem is that that's not what categories were created to do.
> They have a common characteristic: ontological classes group instances
> together, and wiki categories group instances together. But that's
> the full extent of the similarities. The primary purpose of an
> ontological class is to present semantic information that applies to
> all individuals in a set; the primary purpose of a wiki category is to
> provide easy access to other articles related to the same overall
> topic.
>
> Stated another way, the notion of a wiki category has no parallel
> concept in ontologies: it is not a class, and it is not an individual
> - although it's more like a class than it is like an individual. In
> comparison, the notion of the wiki article parallels very nicely to
> the notion of the ontological individual. It appears to me that the
> reason 'class' and 'category' have been equated is that as poor as the
> fit is, there's nothing else in the respective paradigms that fit
> better.
>
> We can't do anything about the concept-set of ontologies, even if we
> wanted to; so the issue is what to do with the concept-set of the
> wiki. As I see it, the possibilities are:
>
> * replace the 'category' notion with the 'class' notion. This is what
> Yaron and S Page are proposing. Downside: you have to reintroduce the
> 'category' notion in some other way, or do without.
> * Introduce a 'class' notion into SMW that's distinct from the
> 'category' notion. This would involve a separate namespace for
> classes.
> * Introduce the 'class' notion into SMW as a subset of the 'category'
> notion. This would involve discriminating between those "categories"
> that might theoretically impose restrictions on their members vs.
> those that won't.
> * Introduce the 'class' notion into SMW as a variant of the 'category'
> notion. This is the approach that I have illustrated earlier in this
> message.
>
> > Jonathan "Dataweaver" Lang originally wrote:
> >
> > > 2. Add a new special property: 'Class'. Property:Class has type
> > > Category; additionally, only categorization by means of
> Property:Class
> > > would map to rdf:type and rdfs:subClassOf;
> >
> > I'm pretty confident a SMW wiki's admin can establish such mappings by
> > creating articles named MediaWiki:Smw_import_{rdf|rdfs}, see
> > http://semantic-mediawiki.org/wiki/Help:Import_vocabulary. You might
> > consider mapping to SKOS, it's more detailed.
> > ontoworld.org does not have import pages for these ontologies because
> it
> > might mislead users to think SMW itself implements their semantics.
> >
> > To make *only* your Property:Class have this mapping, you'd have to
> > modify SMW_SpecialExportRDF.php.
>
> Would it be possible to write an extension that does this, or would I
> have to hack SMW_SpecialExportRDF.php?
>
> Also, I'm not just concerned about how RDF exports work; I merely see
> that as a reflection of an internal problem. When and if SMW
> implements more semantic features (such as allowing classes to place
> restrictions on what their members should and should not be like), the
> distinction between "ontological class" and "wiki category" will rise
> up to bite us. As such, I'm looking for a way to distinguish between
> "article A is a member of ontological class C, and thus is subject to
> whatever semantic requirements class C sees fit to impose on it" and
> "article A is included in wiki category C, and thus has no reason to
> expect category C to impose any semantic restrictions on it".
>
> > > I'd also add a special property 'Category'.
> >
> > Note that there were and probably still are bugs in SMW when you name a
> > property the same as a namespace, especially with your proposed
> > Property:Category. Plus it's very confusing.
>
> True enough. The only reason why I mention this is that if a category
> isn't associated with an article or subcategory in an RDF export by
> means of rdf:type and rdfs:subClassOf, then how _is_ the association
> handled? This would be the technical argument for equating
> '[[Category:foo]]' with an is-a relation by default: it takes less
> work on the designer's part to implement it that way. Of course, ease
> of programming, while important, isn't necessarily the top priority.
>
> > Yaron later wrote:
> > > if I
> > > were designing that wiki about cities, I'd probably create a category
> > > called "Cities", that held every page that was a city, and one called
> > > "City information" that held pages that were on the topic of cities
> in
> > > general.
> >
> > Me too. The English Wikipedia approach is to use the singular
> > [[Category:City]] for pages on the topic. (BTW I tried to rename
> > ontoworld's singular category names, but its users have the notion
> "is_a
> > City" and prefer singular category names.)
>
> That would be one way to do it; but you'd want to associate the two
> categories so that people could switch between the two kinds of
> articles. Another would be to use [[Topic::Category:foo]] annotations
> in articles, and then include an inline query on the category page
> that lists all pages with that annotation. This seems rather kludgey
> to me; but it does the job.
>
> I've already stated my preferred approach, which is at the very least
> competitive with these approaches.
>
> Unless I'm missing something?
>
> --
> Jonathan "Dataweaver" Lang
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel