[oslc-core] Resource value-type name adjustments and examples
Dave
snoopdave at gmail.com
Thu Jun 17 12:29:39 EDT 2010
(apologies for the HTML mail, but I needed some quick formatting...)
Following up on our discussion of the resource value types, here is my
proposal for better value-type names and an example for each.
Resource -> Resource Reference (aka URI Reference)
Inline Resource -> Inline Resource Reference (what's the RDF
terminology for this?)
Local Resource -> Local Resource Reference (aka Blank Node
reference)
Inline Local Resource -> Local Resource (aka Blank Node)
I believe these are more clear to those with an without RDF knowledge and do
not conflate value-type with representation. Here's a detailed description
of each and examples.
*Resource Reference (aka URI Reference)*
This value-type is a link from within a source resource to a target
resource. Use this when you need a simple link and you do not need to
annotate the link with property values. For example, here is a property
"oslc_blog:attachment" that you might find inside a blog entry, it links to
a resource that is "attached" to the blog entry:
<oslc_blog:attachment rdf:resource="http://example.com/attachments/2" />
*Inlined Resource Reference (aka ???)*
This value-type is a link from within a source resource to a target
resource, but also provides some property values of the target resource
inlined into the source resource. Use this value-type when you need a simple
link, but you would also like to offer some summary information in the
resource being linked to.
For example, here is a property "oslc_blog:attachment" that you might find
inside a blog entry, it links to a resource that is "attached" to the blog
entry and offers some summary information about the attachment which may
duplicate property-values found in the target resource.
<!-- Inlined Resource Reference: a link with properties of target inlined
-->
<oslc_blog:attachment>
<oslc_blog:Attachment rdf:about="http://example.com/attachments/2">
<dcterms:title>Really big MS Word document</dcterms:title>
<oslc_blog:attachmentMedia rdf:resource="
http://example.com/uploads/5/big.doc" />
</oslc_blog:Attachment>
</oslc_blog:attachment>
*Local Resource (aka Blank Node)*
This value-type is a "local resource" that exists only inside the source
resource and is optionally identified by an anchor ID so that it may be
referred to via a Local Resource Reference. Use this when you need a link to
a target resource and you need to annotate that link with property values.
For example, here is a property-value that is a link to an attachment that
is annotated with property-values, i.e. property values that are about the
link itself.
<!-- Local Resource: a link with property-values -->
<oslc_blog:attached>
<oslc_blog:Attached rdf:nodeID="attachment0">
<oslc_blog:attachmentApprovedDate>2010-10-10T12:00:00-05:00</oslc_blog:attachmentApprovedDate>
<oslc_blog:attachmentPublishedDate>2010-10-10T12:47:13-05:00</oslc_blog:attachmentPublishedDate
>
<oslc_blog:attachment rdf:resource="http://example.com/attachments/2"
/>
</oslc_blog:Attached>
</oslc_blog:attached>
*Local Resource Reference (aka Blank Node Reference)*
This value-type is a link from a source resource to "local resource" that
exists only inside of the source resource. Use this when you want to link to
an Local Resource.
For example, here is a property-value that is a link to the Local Resource
value above:
<!-- Local Resource References: links to Local Resource -->
<oslc_blog:publishedAttachment rdf:nodeID="attachment0" />
<oslc_blog:approvedAttachment rdf:nodeID="attachment0" />
*Does this stuff validate?*
Here's a link to an example that shows all of the above forms with RDF
triples, graph, etc. -> http://goo.gl/y4r1
I've probably got some things wrong so please review these and let me know
what you think.
Thanks,
Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20100617/ca2a43d9/attachment-0003.html>
More information about the Oslc-Core
mailing list