W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2004

RE: Ideas for store for IFP smushing

From: <Patrick.Stickler@nokia.com>
Date: Mon, 16 Aug 2004 09:52:14 +0300
Message-ID: <A03E60B17132A84F9B4BB5EEDE57957B02A2E9DF@trebe006.europe.nokia.com>
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

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:57 UTC