OwningStuff
From FOAF
Comments on this page are very welcome.
Contents |
[edit] Describing Ownership
Question: How might we describe that we own something? E.g. a book, an album, a car, dog, etc.
[edit] Discussion
The simplest way of stating that "I own a copy of the book 1984", might be something like this:
<foaf:Person>
<ns:owns>
<book:Book dc:title="1984"/>
</ns:owns>
</foaf:Person>
This is nice and straight-forward because the "owns" property is quite general and we could use it to capture a wide variety of types of "ownership" (e.g. leasing, etc). It's therefore similar to foaf:knows: a simple, but useful relationship between a person and some Thing.
But using a simple property is limited. There are a number of other useful aspects to an ownership relationship that I might want to capture, e.g. how did I acquire something? was it a gift, an inheritance, did I buy it, or did I find it in the street?; and when did the ownership begin (and when might it end)?; if I bought it, then from where or from whom?
Therefore a more useful way to model ownership would be as a class, which we can then annotate with additional properties, e.g:
<ns:OwnedItem>
<ns:owner>
<foaf:Person/>
</ns:owner>
<ns:item>
<book:Book dc:title="1984"/>
</ns:item>
<dc:date>2003-12-25</dc:date>
<ns:source>
<foaf:Person/>
</ns:source>
</ns:OwnedItem>
In that example we're stating that one person owns a copy of a book called 1984, which they acquired on 25th December 2003, from another person.
TheOwnedItemclass could be extended to model additional types for specific kinds of ownership, e.g.
Gift,
Inheritance,
FoundItem,
Purchase.
Giftmay itself be sub-classed to describe particular types of gift, e.g. Xmas present, birthday present, leaving present, etc.
Here's a more detailed example that demonstrates this:
<foaf:Person rdf:nodeID="ldodds">
<foaf:name>Leigh Dodds</foaf:name>
<book:reading rdf:nodeId="bk"/>
</foaf:Person>
<ns:OwnedItem>
<ns:owner rdf:nodeID="ldodds"/>
<ns:source>
<foaf:Person rdf:nodeID="debs"/>
</ns:source>
<dc:date>2003-12-25</dc:date>
<ns:item rdf:nodeId="bk"/>
<rdf:type rdf:resource=".../Gift"/>
</ns:OwnedItem>
<book:Book rdf:nodeID="bk">
<dc:title>1984</dc:title>
<foaf:maker>
<foaf:Person>
<foaf:name>George Orwell</foaf:name>
</foaf:Person>
</foaf:maker>
</book:Book>
[edit] Alternative example
By coining an inverse of ns:owner, e.g. ns:hasOwnership, and renaming OwnedItem (which seems to suggest that e.g. Book is a subclass) to Ownership, the above can be shown a little clearer and perhaps more intuitive:
<foaf:Person>
<foaf:name>Morten Frederiksen</foaf:name>
<book:reading rdf:nodeId="bk"/>
<ns:hasOwnership>
<ns:Ownership>
<ns:source>
<foaf:Person foaf:nick="jen"/>
</ns:source>
<dc:date>1993-07-12</dc:date>
<ns:item rdf:nodeId="bk"/>
<rdf:type rdf:resource=".../Gift"/>
</ns:Ownership>
</ns:hasOwnership>
</foaf:Person>
<book:Book rdf:nodeID="bk">
<dc:title>The Bourne Identity</dc:title>
<foaf:maker>
<foaf:Person>
<foaf:name>Robert Ludlum</foaf:name>
</foaf:Person>
</foaf:maker>
</book:Book>
Note that above doesn't change anything modelling wise - it's still a non-binary relation.
With a suitable range for hasOwnerShip, the RDF/XML could be even cleaner. Of course, it could even be renamed to foaf:owns...
[edit] Issues
* the usual work vs. manifestation of a work issue: I don't "own" 1984, I own a copy of the book with that title. Is this something we need to worry about? I think we do, as otherwise we'd get confused with e.g. music - the maker can make reasonable copyright statements about a CD as a work, whereas I can make reasonable statements about ownership of the copy i bought. -- MortenFrederiksen
[edit] References
* A scheme already somewhat defining ownership: The Charette Relationship Set (CRS) * Proposal for foaf:owns property * Discussion on #foaf where mortenf suggests Ownership should be a class * More irc chat bryce on short term owning, e.g. renting a vid * Wordnet definition of ownership
