Re: Some thoughts on the semantics of domain and range

>>In summary:
>>* objectivity about all RDF statements on the entire Web is going
>>to be impossible - subjectivity (relative to a 'frame of reference')
>>is the only recourse, therefore conclude stuff based on your viewpoint.
>Well, TimBL and others have asserted that the Web should have a
>common "proof language", even if individual statements are interpreted
>w.r.t. some "frame of reference"  (context?).

I carefully avoided the term 'context' to avoid confusion with earlier
posts.  AFAIK context was the term used to describe a mechanism that
embodies the explicit description of the circumstances in which associated
RDF statements apply.  This is an _extremely_ useful extension IMHO.  An
example might be [Fred] --marriedTo--> [Linda] from when they got married up
to the point when they got divorced - the statement is valid within a
context specifying the time range in which they were married.

"Frame of reference" is something altogether different.  My meaning of
"frame of reference" is the statements that you are privy to and accept.  As
said before, an application's "frame of reference" may be a single document
(plus schemas referred to), an entire data store (DBMS / KB / etc), or
anything in-between, depending upon its task.


If RDF becomes prolific, you cannot realistically expect to capture all RDF
statements on the Web - AFAIK Yahoo, the largest search engine on the 'Net
only references approx. 20% of all the web pages out there!  You have to
work with the statements that you do know about.

In addition, not all statements will tally with each other, some of them may
conflict.  If source1 says [Joe] --marriedTo--> [Mary] and source2 says
[Joe] --marriedTo--> [Wanda], who do you believe?  RDF would currently
result in the union of the two and Joe would be a bigamist (in the 'context'
that he is a Christian in a Western society).

Ideally, you might want to choose one over the other depending upon who you
trust more, or else introduce the identity of the source into the context of
the statements and defer it to the user agents to decide who to trust.

I come from the Financial Information industry originally, and it is very
common for different sources to publish different versions of what should be
the same information, based upon various different reasons and as the result
of various different processes.

Although not on the same scale, I anticipate the same thing will develop on
the semantic Web.  After all, the description of semantics will ultimately
stem from humans expressing their view of the world, not from mathemeticians
concerned with the integrity of logic accross the entire Web.

Rather than constrain and diminish the expressibility of RDF validity, just
accept that there will be conflicting statements and several different
versions of "truths" out there.

As humans we construct our own mental model of the real world around us
based upon facts we learn and believe.  If new facts break the integrity of
our mental model we either reject them or else adapt the model iteratively
to make sense of them.

Given that you are not privy to the entire set of statements out there and
that some conflict, how can you not work from a frame of reference?

The point is, the integrity of our mental model and the logic based on it
stems from our own experience and perceptions - our own viewpoint.  Two
people's mental models may differ - is one right and the other wrong?  Does
it matter so long as each can infer stuff to a *reasonable* degree of

The reason I brought it up is to counter the argument that allowing multiple
rdfs:domain constraints means you can't infer type because _there may be
another domain constraint out there somewhere_.  My point is: if there is it
is not in your frame of reference and you shouldn't have to care about it.

>If I understand the concept correctly, this "proof language" embodies
>some set of rules whereby one can determine the validity or otherwise of
>some chain of reasoning, based on some set of assertions, including
>assertions about the nature of the logic of the assertions.  So, for
>example, fuzzy logic reasoning can be described by some "proof language"
>assertions, and then fuzzy logic reasoning can be validated using the
>proof language in concert with those assertions.

This proof language might test the consistency of multiple statements, but
again, within your frame of reference.

>I think the RDF/RDFS core should focus on features needed for that
>common proof language, which means being able to draw some useful
>inferences independent of frame of reference.  Conjunctive semantics
>_seems_ to be consistent with that goal.

I disagree.  RDF/RDFS core should focus on making statements and defining
validity constraints of those statements.  Inference based upon those
statements in my mind is yet another application of RDF, not core to it.
Our product - Antology(tm) - is an application of RDF that does not care
about logic or inferencing.

Conjunctive semantics may make it easier to infer semantics, but detracts
from useful modelling of semantics on which the inference is based.

After all, how useful is it to infer that a lot of resources are
'tangibleThings' or rdfs:Resource's because the flexibility is not in RDFS
to specify more sophisticated domain and range validity contraints? (see

>* rdfs:domain is _very_ useful as it currently stands for asserting model
>validity (albeit based on your current frame of reference).
>This, I cannot and do not dispute.  Whether it belongs in the core, I
If rdfs:domain is not in the core then how can you infer resource types from
its predicates anyway?


Received on Thursday, 14 September 2000 09:59:58 UTC