Okay, now I understand: those properties really are properties, not categories. Here's how I would implement that specific need: I would use properties called "Has author" and "Has editor", etc. (I like to have properties phrased as a predicate, to make it obvious what the relationship is), and I would add another one, called "Involves person", that would also be applied to any name entered. This could all be fit into a semantic template, to prevent each name from actually having to be entered twice.

I'll grant you that it seems awkward, though then again the request itself is somewhat unusual, in my opinion; I think the conventional approach would be to display authors, editors, subjects etc. separately, as separate columns in a table or whatever else - it's clearer and provides more information.


On Jan 15, 2008 8:44 AM, John Carter <john.s.carter@gmail.com> wrote:
Hello Yaron,
Thanks for your question. It's an important one that we always need to ask... have I set up my Wiki structure so that it
a) makes sense and
b) lets me extract the most value out of the available tools?
Since I'm still experimenting, I can easily change my thinking to use Categories, or Properties, or ... to get what I want. I'd welcome other ideas on how to set up my pages...
For my experiment, I am building a simple Books database. Each Book is an article, and so I want to tag the Author, the Editor, and even other kinds of Person that might be relevant to a Book (e.g., Subject Of for a biography). The idea is that I could then write very simple Ask queries to print a list of books and their authors, or even better a list of all books and all the people involved with each one in whatever capacity . As temlakos said before, it looks like the only way to do that is to hard-code all the subtypes of Person into my display query, and that's just ugly... If I had users, I WOULD want them to add Properties on the fly, but I WOULD NOT want them to have to edit the queries at the same time.
To your question, could I use Categories, in this case I think that would mean that the Book page contains a non-semantic link to the author's page, and then the author's page is categorized as Author. If I did that, however, I would lose the context of the person's role in a particular book (she could be Author of one, Editor of another, and Subject Of yet a third).
I'd welcome more discussion and ideas from more advanced users... How would you set up a books Wiki and how would you perform this query
"Select all articles about books and display all the people associated with each one."
All the best,
On Jan 13, 2008 7:11 AM, Yaron Koren <yaron57@gmail.com> wrote:
If I may interject, is the use of the "Person" and "Author" properties on your site simply to establish that the page in question represents a person and/or author? If so, probably the better solution is to use a category, instead of a property, like "[[Category:Author]]". Although SMW is meant, in part, to help avoid the use of categories, they still serve one important function in SMW-based sites, which is to establish the "class" of a page. Categories, unlike properties, have a natural concept of subclassing, which SMW's ask queries respect, so that doing a query on "[[Category:Person]]" will also get you all pages that have a category of "Author", or any other subclass of "Person".

Though I could be wrong about what you're using the properties for.