W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2000

Re: Statements/Reified statements

From: Bill de hÓra <dehora@acm.org>
Date: Wed, 22 Nov 2000 22:55:22 -0000
Message-ID: <005a01c054d7$4ddffa80$9b8d883e@dehora>
To: "Jonathan Borden" <jborden@mediaone.net>, "Sergey Melnik" <melnik@db.stanford.edu>, "Pierre-Antoine CHAMPIN" <champin@bat710.univ-lyon1.fr>
Cc: "ML RDF-interest" <www-rdf-interest@w3c.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- ----- Original Message -----
From: "Jonathan Borden" <jborden@mediaone.net>
To: "Sergey Melnik" <melnik@db.stanford.edu>; "Pierre-Antoine
CHAMPIN" <champin@bat710.univ-lyon1.fr>
Cc: "ML RDF-interest" <www-rdf-interest@w3c.org>
Sent: 22 November 2000 22:08
Subject: Re: Statements/Reified statements

: >
: > The "fix" or interpretation I advocate is the following:
: >
: > - STATEMENTS ARE RESOURCES (that implies that every statement is
unique
: > and equivalent to reified statement)
:
: A resource is something identified by a URI (by definition).
Begging the
: question: what would the URI of a statement be in this case?

(Very rough pseudo-code alert)

Resource():
    string uri

Statement(isa Resource):
    Resource sub
    Resource pred
    Resource obj // can't be doing with literals, sorry
    Statement(sub, pred, obj, uri):
        super(uri)
        ...

RDFSpace(isa Resource):
    StatementMap rmap
    StatementMap smap
    StatementMap spmap
    RDFSpace(uri):
        super(uri)
    add(S):
        o = S.obj
        if(o isa Statement or isa Space):
            addReified(o)
        if(S isa RDFSpace)
            addSpace(S)
        smap.add(S)
    addReified(S):
        rmap.add(S)
    addSpace(S):
        spmap.add(s)
    isReified(S):
        rmap.has(S)
    fact(S)
        smap.has(S)
    ...

...

S = Statement(a,b,c, magicURI())
S1 = Statement(d, e, S, magicURI())
space = RDFSpace(magicURI())
space.add(S)
space.isReified(S) //  #f
space.fact(S) //  #t
space.isReified(S1) //  #t
space.fact(S1) //  #f
space.add(S1)
space.fact(S1) //  #t
space.isRefied(S1) //  #t

outerspace = RDFSpace(magicURI())
S3 = Statement(f, g, space, magicURI())
space.add(S3)
space.isReified(space) //  #t
space.fact(space) //  #f
space.add(space)
space.isReified(space) //  #t
space.fact(space) //  #t
outerspace.add(space)
outerspace.isReified(space) //  #f
outerspace.fact(space) //  #t
outerspace.addReified(outerspace)
outerspace.fact(outerspace) //  #f
outerspace.isReified(outerspace) //  #t

...

Lots of fun :)

- -Bill de hÓra

-----BEGIN PGP SIGNATURE-----
Version: PGP 7.0

iQA/AwUBOhxOyuaWiFwg2CH4EQI1pgCg3W5ihP8NBHUDNMPG3rFqb5J0PLYAn07G
e7scR07BgC2ZakxPE0rnbBJI
=vaDK
-----END PGP SIGNATURE-----
Received on Wednesday, 22 November 2000 17:57:39 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:46 GMT