Here's my first attempt to write up example query result shapes, based on Arthur's feedback, in Appendix B:
http://open-services.net/bin/view/Main/OSLCCoreSpecAppendixB#Specifying_the_shape_of_a_query Please review and comment on the list and/or tomorrow at the Core workgroup meeting. Thanks, - Dave On Tue, Aug 10, 2010 at 9:46 AM, Dave <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> >> To: >> oslc-core <[email protected]> >> Date: >> 08/09/2010 08:35 PM >> Subject: >> [oslc-core] Shapeless query result example >> Sent by: >> [email protected] >> >> >> >> 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 >> [email protected] >> http://open-services.net/mailman/listinfo/oslc-core_open-services.net >> >> >> >> >
