About the model: Question 2
2. We need to be able to identify a work for human beings (rather than machines) using a combination of both the author and the title (when there is an author), but we also need to treat the author as an entity (in RDF terms, a class?) so that we can create a record for it that contains all of its variant names, biographical information and so forth. I think what I am saying is that we need to treat an author as both an entity in its own right and as a property of a work, and in many cases the latter is the more important function for user service. Is it possible to model this? Or is it possible that RDF (and other data modelling) works against effective use of bibliographic data because of an absolute requirement that something either be a class or a property, but never both?
OWL Web Ontology Language Guide (http://www.w3.org/TR/owl-guide/) p. 7 (Section 1.1 under OWL DL): “A class can not also be an individual or property.” “A topic could be class and instance at the same time”–The Topic Maps Handbook by H. Holger Rath, on the web at www.empolis.com
“Sure. I guess this part points to something that splits the RDF and Topic Maps worlds apart. With RDF, you have an ever-growing tree-structure with no cross-pollination without what’s known as anonymous nodes. So, every thing expressed, every relationship, is created as a child-node of the thing it belongs to. Example ;
Alex is_a : person
has_a : dog
with_name : Oscar
of_type : english_cocker-spaniel
married_to : julie
Let’s take just the one part of this out, and express it as a falling triplet ;
“Alex” : http://shelter.nu/me.html
“married_to” : http://some.ontology/human_relationships#marriage
“Julie” : http://shelter.nu/my_family.html#julie
For each thing that’s attached to me I must make a triplet, and for every thing within a triplet more triplets to explain them. Now, the thing here is ; Where do you express these things? Where do you express that Julie is a person, and where do you define that URL?With Topic Maps, all things must first be a topic, so the same tree would be (and remember the Public Subject Identifiers talked about earlier, PSI’s) ;
topic : “Alex”, PSI=http://shelter.nu/me.html
topic : “married_to”, PSI=http://some.ontology/human_relationships#marriage
topic : “Julie”, PSI=http://shelter.nu/my_family.html#julie
These things are expressed as things. Making the links between things are done *outside* their context, treating relationships as topics themselves ;
association of type “married_to” : between “Alex” and “Julie” (‘association’ is simply a topic of type ‘association’ 🙂
This association itself can have a URL (unlike RDF relationships), a PSI, a name, or more relationships and properties attached (basically, RDF’s ability to reify statements is handled ambiguously). The reason I’m talking about these RDF and Topic Maps differences is to point out this problem of where to define a thing. Where do you define a thing in RDF? There is the notion in the RDF world that you have a separate document with RDF triplets to define these things which you link in when you resolve or infer over your triplets, but in RDF this is implicit while in Topic Maps they are explicit. this is one of those things that’s confusing about RDF.
But back to your question ; Just talk about things, there and then. If they resolve to the right thing, your inference engine will thank you and be able to work with it. The persistence of these things lie with the URL you choose for your thing. If it’s an author, I can do ;
“Frank Herbert” : http://authors.psi.org/f_herbert(1920-)
And do ; “Dune” is_a book : http://things.psi.org/book
has_author : http://authors.psi.org/f_herbert(1920-)
It should be up to smart SemWeb systems to pick these URLs up and use them for persistence. Smart systems should also be able to link http://authors.psi.org/f_herbert(1920-) and http://authors.psi.org/f_herbert together as the same author, but this unambiguity lies at the heart of the semWeb problem.
RDF comes in many parts, and as basic RDF itself there is no such constraint (everything can be anything). You can build those constraints with RDFS. You can use more specific language within RDF to define things, or more complex statements with using the three levels of OWL. (At this point we’ve included five levels of ontology redirection, and I’m sure I’ve lost you along the way … :)”–September 11, 2007 email from Alexander Johannesen.