[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