On Nov 6, 2014 10:10 AM, "Karen Coyle" <[log in to unmask]> wrote:

> If the bf:workTitle were of type bf:Work instead of bf:Title, you would get:
> <X> rdf:type bf:Work .
> <X> bf:workTitle _:aa .
> _:aa rdf:type bf:Work .
> _:aa bf:titleValue "Here's my title" .
> Does that clear it up?

Ah- now I think I understand-when you are talking about a property being of a certain type, you are talking about the range of the property, not the type of the property itself (ie the thing named bf:workTitle. Did it clear up? :-)

If the range of workTitle is declared to Work, then the value of the property as well as the subject of the property would also be an instance of bf:Work.

Is a goal to treat titles as Works in their own right, and to be able to have titleValue asserted directly on X?

Is a goal to find triples that may be reachable from  instances of Work? In that situation, SPARQL 1.1 sub queries or property paths may do some of the work.

Outside of SPARQL, some approaches to serving linked data return closely related entities alongside the base object, trading off bandwidth for latency or server load. does this quite a bit ;the work on linked data fragments looks to combine this with client side query processing.