- From: <Patrick.Stickler@nokia.com>
- Date: Mon, 16 Aug 2004 09:52:14 +0300
- To: <mof-rdf@mfd-consult.dk>
- Cc: <www-rdf-interest@w3.org>
> -----Original Message----- > From: ext Morten Frederiksen [mailto:mof-rdf@mfd-consult.dk] > Sent: 15 August, 2004 21:00 > To: Stickler Patrick (Nokia-TP-MSW/Tampere) > Cc: www-rdf-interest@w3.org > Subject: Re: Ideas for store for IFP smushing > > > Hi Patrick et al, > > On Tuesday 10 August 2004 08:21, Patrick.Stickler@nokia.com wrote: > > Note that the definition of a URIQA concise bounded > resource description > > has been refined to be bounded by IFPs, to avoid "FOAF bloat" where > > simple anonymous node closure produces an overly large description. > > (c.f. http://swdev.nokia.com/uriqa/URIQA.html#cbd for the > draft revision) > Great move! > > However, when I tried to implement this, I ran into a > question: What should > happen when the object of a statement with an IFP is a bnode? Hmmm.... good point. You're right. That's a problem. > Step 2 says to stop recursing, but the informal result > description suggests > otherwise. I agree. > I can think of at least one example where it seems > reasonable to > continue the recursion: > If foaf:holdsAccount, which relates a person to an > OnlineAccount of some sort, > were to be defined as an IFP, the OnlineAccount description > is necessary, as > the OnlineAccount is identified (in theory only so far) by > the combination of > its accountServiceHomepage and accountName. > In short, while it may not be a common case, I think the > recursion should > continue with the object if it's a bnode. You're right. I will update the definition to reflect this. Thanks. How does the following definition work for you: Given a URI denoting some resource, a "concise bounded description" of that resource is a set of RDF statements, explicitly asserted and/or inferred, comprised of the following: 1. Include all statements where the subject of the statement denotes the resource in question; and 2. Recursively, for all statements included in the description thus far, for all anonymous node objects, include an "inverse functional bounded description" of the anonymous resource as follows: If there exists at least one statement having the anonymous resource as subject and where the predicate is an owl:InverseFunctionalProperty, then * Include only those statements having the anonymous resource as subject and where the predicate is an owl:InverseFunctionalProperty, and * If the object of such a statement is an anonymous node, include the inverse functional bounded description of that anonymous resource. Else, * Include all statements where the anonymous resource is the subject; and * If the object of such a statement is an anonymous node, include the inverse functional bounded description of that anonymous resource. and 3. Recursively, for all statements included in the description thus far, for all reifications of each statement, include the concise bounded description of the rdf:Statement resource of each reification. ??? > Also, in my implemention I am adding a flag for including rdfs:label > statements as well, since I suspect that human readable > labels will often be > handy, even if all other non-identifying properties are left out. That sounds like a reasonable and useful implementation-specific extension. > > BTW, with regards to the reification step, it's not clear to > me if it is only > existing reifications that should be included, or if all > statements obtained > through step 2 should be reified and included as well > (including their CBDs)? It should include reifications of all statements identified in steps 1 and 2, and for each reification rdf:Statement resource, its CBD should then include any reifications of statements where that rdf:Statement resource is subject. Thus, step 2 is applied to all statements identified in step 1, and step 3 is applied to all statement identified in step 2. Cheers, Patrick > > > Regards, > Morten Frederiksen >
Received on Monday, 16 August 2004 06:53:28 UTC