subject/predicate/object terminology

Following up on item 9 in today's agenda, here are some potential 
problem areas in Concepts and Vocabulary (I don't claim these are 
exhaustive):

Concepts Section 3.1 begins:

"The underlying structure of any expression in RDF can be viewed as a 
directed labelled graph, which consists of nodes and labelled directed 
arcs that link pairs of nodes (these notions are defined more formally 
in section 6). The RDF graph is a set of *triples*:

[image of the RDF triple comprising (subject, predicate, object)]

Each property arc represents a *statement* of a relationship between the 
things denoted by the nodes that it links, having three parts:

    1. a property that describes some relationship (also called a 
predicate),
    2. a value that is the subject of the *statement*, and
    3. a value that is the object of the *statement*.

The direction of the arc is significant: it always points toward the 
object of a *statement*.

The meaning of an RDF graph is the conjunction (i.e. logical AND) of all 
the *statements* that it contains."

I've highlighted *triple* and *statement* in the above.  The text seems 
mostly to be talking about the subject/predicate/object of *statements*, 
except for the introduction, which seems to suggest it's talking about 
*triples*.  A question is whether we're going to use subject, predicate, 
and object for talking both about components of triples, and components 
of statements and, if so, how we keep them straight.  Note that the 
abstract syntax uses these terms to refer to parts of *triples*.

Also, in bullets 2 and 3, tht term "value" is a bit ambiguous:  it could 
be read either as referring to a URIref, or to the thing denoted by that 
URIref.  Given the wording in the preceding phrase, changing "a value" 
to "the thing" would clarify that it was talking about the thing 
denoted, rather than the URIref (if that's what it is talking about).

Concepts Section 3.4, the third sentence, says:

"A literal may be the object of an RDF *statement*, but not the subject 
or the arc"

This seems to mix several things.  A literal sounds like the lexical 
thing, which would be a reasonable object of a triple, but less-clear 
for a statement (presumably it's the value denoted by the literal that 
would be the object of a statement).  "Arc" seems to be mixing in the 
drawing terminology from Section 3.1, and it's not clear it belongs here.

Concepts Section 3.5 starts:

"Some simple facts indicate a relationship between two objects. Such a 
fact may be represented as an RDF triple in which the predicate names 
the relationship, and the subject and object denote the two objects."

In this section, the term "fact" is used as the thing represented as an 
RDF triple.  In Section 3.1 the thing represented as a triple seemed to 
be a "statement".  There may or may not be a problem using "fact" in 
this kind of text, but its relationship to "statement" needs to be made 
clear.  Also, "object" is used in two different ways, as the things 
denoted by subjects and objects, and as the third component of a triple.

Vocabulary Section 5.3.1:

This section starts with some nice text that is clearly about subjects, 
predicates, and objects of *statements*.

Section 5.3.2 (rdf:subject) then says:

"A *triple* of the form:

S rdf:subject R

states that S is an instance of rdf:Statement and that the subject of S 
is R"

This may or may not be problematic.  The question is whether the reader 
will interpret S and R as the URIrefs involved in the corresponding 
triple, or as the resources denoted by S and R.  Similar comments apply 
to sections 5.3.3 and 5.3.4.

--Frank



-- 
Frank Manola                   The MITRE Corporation
202 Burlington Road, MS A345   Bedford, MA 01730-1420
mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-875

Received on Friday, 14 February 2003 11:43:40 UTC