[oslc-core] Shapeless query result example
Dave
snoopdave at gmail.com
Tue Aug 10 09:46:48 EDT 2010
Thanks, Arthur. I had forgotten about rdfs:member. I'll get this form,
and some discussion of cases into Appendix B so that we can discuss
tomorrow at the workgroup meeting.
- Dave
PS. here are the same results in Turtle format via Jena:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix oslc: <http://open-services.net/ns/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix oslc_blog: <http://open-services.net/ns/bogus/blogs#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
<http://example.com/query>
rdfs:member <http://example.com/blogs/comment/3> ,
<http://example.com/blogs/comment/1> ,
<http://example.com/blogs/comment/5> ,
<http://example.com/blogs/comment/4> ,
<http://example.com/blogs/comment/2> .
<http://example.com/blogs/comment/3>
rdf:type oslc_blog:Comment ;
dcterms:title "Comment #3" .
<http://example.com/query?oslc.where=rdf:type=oslc_blog:Comment&oslc.select=dcterms:title>
rdf:type oslc:ResponseInfo ;
dcterms:title "Blog Service Query Results" .
<http://example.com/blogs/comment/1>
rdf:type oslc_blog:Comment ;
dcterms:title "Comment #1" .
<http://example.com/blogs/comment/5>
rdf:type oslc_blog:Comment ;
dcterms:title "Comment #5" .
<http://example.com/blogs/comment/4>
rdf:type oslc_blog:Comment ;
dcterms:title "Comment #4" .
<http://example.com/blogs/comment/2>
rdf:type oslc_blog:Comment ;
dcterms:title "Comment #2" .
On Mon, Aug 9, 2010 at 1:17 PM, Arthur Ryman <ryman at ca.ibm.com> wrote:
> 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
>
>
>
>
More information about the Oslc-Core
mailing list