[oslc-core] Shapeless query result example

Steve K Speicher sspeiche at us.ibm.com
Mon Sep 27 12:33:36 EDT 2010


This is an older thread but I have a question about the example defined at 
[1] and whether it aligns with this shapeless query result example

I would have expected this instead....

<rdf:RDF
   xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:foaf="http://http://xmlns.com/foaf/0.1/"
   xmlns:dcterms="http://purl.org/dc/terms/">

   <!-- Added rdf:Description + rdfs:member -->
   <rdf:Description>
      <rdfs:member>
         <oslc_blog:Entry
            rdf:about="http://example.com/blogs/entry/1">
            <!-- partial property values of of the blog entry -->
         </oslc_blog:Entry>
      </rdfs:member>
   </rdf:Description>

   <oslc:ResponseInfo rdf:about="
http://example.com/blogs/entry/1?oslc.paging=true&pageno=2">
      <oslc:nextPage rdf:resource="
http://example.com/blogs/entry/1?oslc.paging=true&pageno=3" />
   </oslc:ResponseInfo>

</rdf:RDF>


[1] 
http://open-services.net/bin/view/Main/OslcCoreSpecification#Response_Information

Thanks,
Steve Speicher | IBM Rational Software | (919) 254-0645


oslc-core-bounces at open-services.net wrote on 08/09/2010 01:17:52 PM:

> From: Arthur Ryman <ryman at ca.ibm.com>
> To: Dave <snoopdave at gmail.com>
> Cc: oslc-core <oslc-core at open-services.net>, 
oslc-core-bounces at open-services.net
> Date: 08/09/2010 01:19 PM
> Subject: Re: [oslc-core] Shapeless query result example
> Sent by: oslc-core-bounces at open-services.net
> 
> Dave,
> 
> There are two cases to consider when no ResourceShape is given for a 
Query 
> Capability:
> 1. The query capability has a type and a membership property. - In this 
> case the result should use the type and membership property.
> 2. The query capability does not have a type or specific membership 
> property. - In this case use the rdf:Description node element and the 
> rdfs:member property.[1]
> 
> In general, the query result contains two top level subject nodes. The 
> first is the ResponseInfo whose subject is the full query URI. The 
second 
> is the query base URI which contains as members the set of resources 
that 
> satisfy the query.
> 
> The example below omits the query base URI subject and and its 
membership 
> properties. The idea is that the query base represents a collection of 
> resources, and that the query lets you filter this collection for some 
> subset of the resources. You specify the filter conditions in the 
> oslc.where clause. The members of the collection are defined by one or 
> more multi-valued membership properties whose subject is the query base 
> URI, and whose objects are the members. A service may define some 
> domain-specific membership properties, or it may use the generic 
> membership property, rdfs:member. In either case, the query result 
should 
> include the membership properties.
> 
> In your example below, it looks like you are using your Blog example, 
and 
> you are filtering the collection for a set of comment resources. I 
assume 
> the comment resources have rdf:type=oslc_blog:Comment However, if the 
> members had no type, they too would use the rdf:Description node 
element. 
> 
> For example, suppose you want to get all the oslc_blog:Comment resources 

> and their titles. Use the following query:
> 
> 
http://example.com/query?oslc.where=rdf:type=oslc_blog:Comment&oslc.select=dcterms:title

> 
> The result is:
> 
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
xmlns:dcterms="
> http://purl.org/dc/terms/"
>         xmlns:oslc="http://open-services.net/ns/core#" xmlns:oslc_blog="
> http://open-services.net/ns/bogus/blogs#">
> 
>         <oslc:ResponseInfo
>                 rdf:about="
> 
http://example.com/query?oslc.where=rdf:type=oslc_blog:Comment&oslc.select=dcterms:title

> ">
>                 <dcterms:title>Blog Service Query 
Results</dcterms:title>
>         </oslc:ResponseInfo>
> 
>         <rdf:Description rdf:about="http://example.com/query">
> 
>                 <rdfs:member>
>                         <oslc_blog:Comment rdf:about="
> http://example.com/blogs/comment/5">
>                                 <!-- Comment property values, etc. -->
>                                 <dcterms:title>Comment 
#5</dcterms:title>
>                         </oslc_blog:Comment>
>                 </rdfs:member>
> 
>                 <rdfs:member>
>                         <oslc_blog:Comment rdf:about="
> http://example.com/blogs/comment/4">
>                                 <!-- Comment property values, etc. -->
>                                 <dcterms:title>Comment 
#4</dcterms:title>
>                         </oslc_blog:Comment>
>                 </rdfs:member>
> 
>                 <rdfs:member>
>                         <oslc_blog:Comment rdf:about="
> http://example.com/blogs/comment/2">
>                                 <!-- Comment property values, etc. -->
>                                 <dcterms:title>Comment 
#2</dcterms:title>
>                         </oslc_blog:Comment>
>                 </rdfs:member>
> 
>                 <rdfs:member>
>                         <oslc_blog:Comment rdf:about="
> http://example.com/blogs/comment/1">
>                                 <!-- Comment property values, etc. -->
>                                 <dcterms:title>Comment 
#1</dcterms:title>
>                         </oslc_blog:Comment>
>                 </rdfs:member>
> 
>                 <rdfs:member>
>                         <oslc_blog:Comment rdf:about="
> http://example.com/blogs/comment/3">
>                                 <!-- Comment property values, etc. -->
>                                 <dcterms:title>Comment 
#3</dcterms:title>
>                         </oslc_blog:Comment>
>                 </rdfs:member>
> 
>                 <!-- etc. etc. -->
> 
>         </rdf:Description>
> 
> </rdf:RDF>
> 
> 
> [1] http://www.w3.org/TR/rdf-schema/#ch_member
> 
> Regards, 
> 
___________________________________________________________________________ 

> 
> Arthur Ryman, PhD, DE
> 
> 
> Chief Architect, Project and Portfolio Management
> 
> IBM Software, Rational
> 
> Markham, ON, Canada | Office: 905-413-3077, Cell: 416-939-5063
> Twitter | Facebook | YouTube
> 
> 
> 
> 
> 
> 
> 
> From:
> Dave <snoopdave at gmail.com>
> To:
> oslc-core <oslc-core at open-services.net>
> Date:
> 08/09/2010 08:35 PM
> Subject:
> [oslc-core] Shapeless query result example
> Sent by:
> oslc-core-bounces at open-services.net
> 
> 
> 
> We talked about the need for an example that shows what a query
> resource would look like if there were no Resource Shape provided by
> the Query Capability. Arthur suggested that we do not need to define a
> query result type or a member property, and could simply return
> triples about the result URIs plus an oslc:ResponseInfo resource (if
> needed).
> 
> Here's an example of that form, which fits in with the examples in
> Appendix B and validates: http://tinyurl.com/26tetbv
> 
> 1:
> 2: <rdf:RDF
> 3:    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> 4:    xmlns:dcterms="http://purl.org/dc/terms/"
> 5:    xmlns:oslc="http://open-services.net/ns/core#"
> 6:    xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">
> 7:
> 8:     <oslc:ResponseInfo
> rdf:about="http://example.com/query?oslc.from [...] entry/1>">
> 9:         <dcterms:title>Blog Service Query Results for term
> [remote]</dcterms:title>
> 10:     </oslc:ResponseInfo>
> 11:
> 12:
> 13:     <rdf:Description rdf:about="http://example.com/blogs/comment/5">
> 14:         <!-- Comment propery values, etc. -->
> 15:         <dcterms:title>Comment #5</dcterms:title>
> 16:     </rdf:Description>
> 17:
> 18:     <rdf:Description rdf:about="http://example.com/blogs/comment/4">
> 19:         <!-- Comment propery values, etc. -->
> 20:         <dcterms:title>Comment #4</dcterms:title>
> 21:     </rdf:Description>
> 22:
> 23:     <rdf:Description rdf:about="http://example.com/blogs/comment/2">
> 24:               <!-- Comment propery values, etc. -->
> 25:         <dcterms:title>Comment #2</dcterms:title>
> 26:     </rdf:Description>
> 27:
> 28:     <rdf:Description rdf:about="http://example.com/blogs/comment/1">
> 29:               <!-- Comment propery values, etc. -->
> 30:         <dcterms:title>Comment #1</dcterms:title>
> 31:     </rdf:Description>
> 32:
> 33:     <rdf:Description rdf:about="http://example.com/blogs/comment/3">
> 34:         <!-- Comment propery values, etc. -->
> 35:         <dcterms:title>Comment #3</dcterms:title>
> 36:     </rdf:Description>
> 37:
> 38:        <!-- etc. etc. -->
> 39:
> 40: </rdf:RDF>
> 
> 
> Look correct? Any objections to or concerns about adding this to 
Appendix 
> B?
> 
> Thanks,
> Dave
> 
> _______________________________________________
> Oslc-Core mailing list
> Oslc-Core at open-services.net
> http://open-services.net/mailman/listinfo/oslc-core_open-services.net
> 
> 
> 
> 
> _______________________________________________
> Oslc-Core mailing list
> Oslc-Core at open-services.net
> http://open-services.net/mailman/listinfo/oslc-core_open-services.net





More information about the Oslc-Core mailing list