- From: Aaron Swartz <me@aaronsw.com>
- Date: Tue, 26 Nov 2002 14:11:21 -0600
- To: Ian Hickson <ian@hixie.ch>
- Cc: "www-archive@w3.org" <www-archive@w3.org>
>> You represent you by giving yourself a URI
> Which URI?
Any URI, but preferably a short, simple, persistent one. Mine, for
example, is http://me.aaronsw.com/
>> and then saying stuff about it
>>
>> p:Hixie rdf:type foaf:Person .
>> p:Hixie foaf:homepage <http://index.hixie.ch/> .
>> p:Hixie dc:title "Ian Hickson" .
> So URIs all represent further resources, some of which can also be
> used to
> describe relationships?
Yep, almost everything is a resource (identified by a URI) and all
resources can be described (with more triples). Some of those URIs
(called properties) can go in the predicate field and identify
relationships.
> If you go deep enough, can you end up with statements in the form:
> a:foo a:foo a:foo .
I guess that would occasionally make sense, like:
x:anagram x:anagram x:anagram .
("anagram" is an anagram of "anagram"... ignore the fact that they
should be literals instead of URIs)
> I guess I'm trying to work out how much knowledge you have to give an
> RDF system, and how much it can work out for itself.
I'll explain these in the (as-yet-unwritten) closures section. Thanks
for the nudge.
> If there are just three types in RDF, namely resources with URIs,
> resources without URIs, and strings, then how do you say things about
> strings? How do you distinguish between a string and a resource's URI
> in
> the XML serialisation?
You say things about strings just like anything else:
"foo" x:anagram "oof" .
in most serializations, strings can only be objects, though.
>> "about" (which really should be rdf:about) is pointing to the URI of
>> the subject. I don't see resource here but similarly it points to the
>> object.
> Wow, that seems excessively verbose.
It usually is. Hey, it's XML, what did you expect?
> So to say "data:,1" "http://example.net/isa"
> "http://example.net/number" I
> would say what?
>
> <rdf:Description
> rdf:about="data:,1"
> rdf:resource="http://example.net/number"/>
<data:,1> <http://example.net/isa> <http://example.net/number> .
<data:,1> <http://example.net/string> "1" .
becomes
<rdf:Description rdf:about="data:,1">
<example:isa rdf:resource="http://example.net/number" />
<example:string>1</example:string>
</rdf:Dexcription>
(This will go in the syntax section.)
>> The date is in standard W3CDTF format[1].
> So there is no RDF-based way of reifying a date? For example, if I have
> two statements in the form:
>
> foo:a bar:born "1970-01-01T00:00:01Z" .
> foo:b bar:born "1970-01-01T00:00:02Z" .
>
> ...can my generic RDF engine derive:
>
> foo:a bar:born-before foo:b .
>
> ...? (Does this even make sense?)
No, a generic RDF engine can't. If had a special one with support for
dates (I think TimBL's CWM has this) then it might be able to.
> Is there anything to prevent:
> a:foo rdfs:subPropertyOf a:bar .
> a:bar rdfs:subPropertyOf a:foo .
> ...?
No, I think that means they're equivalent.
>> What do you want to tell?
> Well, if I tell my RDF engine to give me all things that are a:foos,
> will
> it also get things that are subclasses of a:foos?
If it supports RDF Schema, then yes. (This will be in the closures
section too.)
> Ok, so if it is a data handling format, how is it better than
> specialised
> MySQL databases?
MySQL is a database. It stores things on disk and gives them back in
response. It's easy to represent MySQL database schemas as RDF. (A
table "people" with columns "name" and "dob" would become a class
"Person" with Properties "name" and "dob"; the primary key would become
the subject URI.) Then you can put your database on the Web and share
it with other databases or non-database programs (like a GUI or XUL
application) or combine it with another database to draw further
conclusions (Amacrook: "people who bought this product also got
arrested for ..."), etc.
> Thanks, by the way, this is really helping with my understanding.
Glad to help! Hopefully I'll be able to fix up the primer so it
explains this stuff better.
--
Aaron Swartz [http://www.aaronsw.com]
Received on Tuesday, 26 November 2002 15:11:23 UTC