W3C home > Mailing lists > Public > semantic-web@w3.org > January 2007

Re: In RDF what is the best practice to represent data provenance (source)?

From: Chris Richard <chris.richard@gmail.com>
Date: Sat, 20 Jan 2007 11:35:32 -0800
Message-ID: <4c7b59910701201135i4f30bb67wa839ce7327e9d0ad@mail.gmail.com>
To: "Michael Schneider" <m_schnei@gmx.de>
Cc: timbl@w3.org, sandro@w3.org, richard@cyganiak.de, chris@bizer.de, semantic-web@w3.org, semantic_web@googlegroups.com
>If not, can you tell me some
>alternative means to reference (and annotate) relationships within a
>domain? I do not see a second candidate for providing this functionality.

If you want to talk about the relationships shouldn't you explicitly model
them?

Think about "foaf:knows" for a second. If I want to talk about "I know so
and so" and "I've known them for this long" and "we met each other this way"
I think you could use "foaf:knows" for the first statement and then
employ reification with the semantics you described and a few additional
predicates. But I feel like the proper way to represent this is
with a different structure. First, a "hasPersonalRelationship" (Person,
PersonalRelationship) predicate. Related predicates would then be things
like "with" (PersonalRelationship, foaf:Person), "since"
(PersonalRelationship, xsd:date), etc. The problem I see with this approach
is that the existing predicate, "foaf:knows" is basically marooned and you'd
have to choose between the two vocabularies. But can't "foaf:knows" can just
be a quick way of saying "hasPersonalRelationship with", i.e.

Chris foaf:knows Jen

becomes shorthand for (and equivalent to):

Chris hasPersonalRelationship _:a
_:a with Jen

Is there any way to represent this type of relation amongst predicates with
OWL or a related language? I see this same modelling technique used in the
following tagging vocabulary:
http://www.holygoat.co.uk/owl/redwood/0.1/tags/tags.n3 where resources can
be tagged by relating them directly to tags with "taggedWithTag" (Resource,
Tag) or indirectly with "tag" (Resource, Tagging) and "associatedTag"
(Tagging, Tag).

In this case, Foo taggedWithTag Bar

is shorthand for:

Foo tag _:a
_:a associatedTag Bar

Hopefully I'm not way off the mark...

Chris

On 1/19/07, Michael Schneider <m_schnei@gmx.de> wrote:
>
>
> Tim Berners-Lee wrote:
>
> > The RDF spec's version of reification is not just incomplete but broken,
> > as it does not quote the identifiers used, it uses them.
>
> Oh, I see: The original intention behind RDF is really to provide a
> "quoting" feature, meaning that a reified statement like
>
>   r a rdf:Statement; subject s; predicate p; object o .
>
> should denote the /syntactic triple/ "s p o" within an RDF graph. I now
> see it in the RDF semantics spec [1, section 3.3.1]:
>
>   "Semantic extensions MAY limit the interpretation of these so that
>   a triple of the form
>
>     aaa rdf:type rdf:Statement .
>
>   is true in I just when I(aaa) is a token of an RDF triple in some
>   RDF document, and the three properties, when applied to such a
>   denoted triple, have the same values as the respective components
>   of that triple."
>
> Apologies to Chris and Richard! I had a complete different understanding
> of reification.
>
> Perhaps, you give me the chance to explain, how I understood reification
> until now, and then, I would like to here from you, if this alternative
> understanding is something you can better live with. Accepting this view
> on reification would, however, result in a complete re-interpretation of
> this construct.
>
> My starting question is: How can I talk about the /relationship/ between
> two resources, which is denoted by some syntactic triple within a RDF
> graph? IMHO, the primary use of RDF in the Semantic Web is to describe
> resources, which exist in some domain. I do this by telling the
> resource's properties, and by telling the relationships, which hold
> between such resources. But, I not only want to describe concrete things
> ("atomic resources"), I also want to describe the relationships between
> such things. Until now, I understood reification as the means in RDF to
> do this.
>
> From a semantical point of view, this seemed pretty convincing to
> me. RDF semantics [1] says in section 1.2:
>
>   "The semantics treats all RDF names as expressions which denote.
>   The things denoted are called 'resources', following [RFC 2396],
>   but no assumptions are made here about the nature of resources;
>   'resource' is treated here as synonymous with 'entity', i.e. as a
>   generic term for anything in the universe of discourse."
>
> So, for each RDF graph G, for each interpretation I of G, and for each
> URI ("name") u used within G, there must exist some resource I(u) within
> the interpreting domain, which is denoted by u. So, even for a reified
> statement r in G, like the one given above, there must exist some
> matching resource I(r) within the domain ("r" is meant to be an URI here).
>
> The question is, what this resource actually is? What is known is that
> I(r) has the following properties:
>
>   * the value of its property I(rdf:subject) is I(s)
>   * the value of its property I(rdf:predicate) is I(p)
>   * the value of its property I(rdf:object) is I(o)
>
> The URI 'rdf:subject' would then denote that relation within the domain,
> by which we access the subject of some relationship kind of resource.
> And analog for the other two property URIs. I would further postulate
> that those three properties are restricted in a way, that they can only
> occur as properties of relationship kind of resources. Under these
> conditions, I can conclude that I(r) really must be a relationship, not
> an atomic thing. And I can also conclude that this relationship holds
> between the resources denoted by the URIs 's' and 'o', together with a
> property denoted by URI 'p'.
>
> So, in my opinion, it is pretty natural to think of reification as a
> means to represent relationships, which "live" within the interpreting
> domain, and not so much as a means for representing triples of the
> interpreted RDF graph.
>
> > There is an outstanding RDF issue about it.
> >
> > cwm does a reification which is not broken,  using a similar but
> > different ontology.
> >
> > I think reification should be dropped from a future RDF spec.
>
> Yes. But, with a complete change of meaning in the form proposed above,
> would you give reification a second chance? If not, can you tell me some
> alternative means to reference (and annotate) relationships within a
> domain? I do not see a second candidate for providing this functionality.
>
> > I think n3's literal graphs like   <doc1> :says { alan :mother :joan
> > }.   should be added as an extension.
> >
> > In RDF/XML a parsetype="quote" option would do it.
> >
> > Calling them "names graphs" as caught on but they are really graph
> > literals, as they don't have to have a URI.
> > To force them to have a URI would be like forcing strings, numbers, or
> > lists to haver URIs.
> >
> > Tim
> >
> > /me wonders what semantic-web@googlegroups.com is
>
> This is Google's Semantic Web group, a very low-frequency group, where
> this thread started originally:
>
>   Group: http://groups.google.com/group/semantic_web
>   Thread:
>
> http://groups.google.com/group/semantic_web/browse_thread/thread/d820f138af640570
>
> > and what its relationship is with antic-web@w3.org
>
> I don't know about this mailing list, sorry.
>
>
> Best regards,
> Michael
>
> [1] RDF Semantics: http://www.w3.org/TR/rdf-mt
>
>
>
Received on Saturday, 20 January 2007 19:35:37 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:44:59 UTC