Re: Statements about statements -- Help needed!

Interesting; while I certainly see problems with writing it all out  
by hand, I'd hope nobody's writing large amounts of RDF out by hand,  
and generating the triples is very straightforward. Also, talking  
about a set of statements is an application-level issue. At the RDF  
level you're just throwing more triples into the pot. Could you  
elaborate on the issues you had?

Also, looking over your examples, things seem a bit odd. First,  
rdf:nodeID is file-internal, and can't be used across different  
files. And you don't use rdf:resouce to specify an instance with an  
rdf:nodeID as an object, you use rdf:nodeID again. Additionally, your  
approach does not seem to be tackling the same need -- the "results"  
of the evaluation/report described by the EARL statement are very  
closely tied to the metadata about the report -- they're really all  
parts/properties of the same "thing", an evaluation or report.

With NewsML, however, it will likely be important to extract just the  
statements, and work with those, or to have more than one set of  
metadata about the same statements. The statement metadata isn't  
really about the same thing as the item metadata. By using the  
Statement approach, the plain triples are part of the RDF to be  
manipulated, and I can ask (sorry for the pidgin) things like: ?x  
newsml:subject ho:trains instead of having to ask ?y  
newsml:concerning ?x, ?y newsml:concerningSubject ho:trains .  
Particularly, the first captures the meaning far more accurately,  
which I feel is Very Important to good RDF.

Though actually, I've just thought of a weakness of the statement  
approach, where you might have more than one person making different  
confidence evaluations of the same statement, or similar.

Therefore I advocate the following basic approach:


random:triple1		rdf:type				rdf:Statement .
random:triple1		rdf:subject			random:item42 .
random:triple1		rdf:predicate			newsml:provider .
random:triple1		rdf:object			"iptc.org"^^xsd:string .
random:triple1		newsml:meta 		random:metadata5 .
random:metadata5	rdf:type				newsml:StatementMetadata .
random:metadata5	newsml:evaluator	random:person1.
random:metadata5	newsml:confidence	"0.5"^^xsd:float .


After all, nearly anything can be solved with an additional degree of  
indirection ;-) .

Russell


On Dec 22, 2005, at 2:35 PM, Charles McCathieNevile wrote:

>
> On Thu, 22 Dec 2005 19:54:48 +0100, Russell Duhon <fugu13@mac.com>  
> wrote:
>
>> The reification approach would likely be a good bet.
>>
>>  I've worked up a quick example, working from content in your  
>> model draft ( http://www.iptc.org/
>> NAR/1.0/specification/DRAFT-NAR_1.0-spec-Model_12.pdf ) and an  
>> example in the RDF Primer.
>>
>>  Here's how it might look (fragmentary, of course):
>>  random:triple1	rdf:type				rdf:Statement .
>> random:triple1	rdf:subject			random:item42 .
>> random:triple1	rdf:predicate			newsml:provider .
>> random:triple1	rdf:object			"iptc.org"^^xsd:string .
>> random:triple1	newsml:confidence 	"0.4"^^xsd:float .
>
> Earlier drafts of EARL actually took this approach. While it is  
> functionally pretty similar, we moved away from it because it  
> seemed just a tiny bit more complex to explain, and it really got  
> quite complicated if you wanted to talk about a set of statements.
>
> Cheers
>
> Chaals
>
> -- 
> Charles McCathieNevile                     chaals@opera.com
>   hablo español  -  je parle français  -  jeg lærer norsk
>      Peek into the kitchen: http://snapshot.opera.com/
>

Received on Thursday, 22 December 2005 20:20:48 UTC