Print

Print


On 11/6/14 8:00 AM, Simon Spero wrote:
>
> On Nov 6, 2014 10:10 AM, "Karen Coyle" <[log in to unmask] 
> <mailto:[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? :-)
>

No, actually, I'm talking about the domain of properties, not the range. 
The domain of the property asserts "instance of class" on the subject of 
the property relation. So

bf:workTitle with domain=bf:Work

makes these two statements equivalent, although in #2 you must first 
infer the type of :X from the predicate "bf:workTitle":

:X a bf:Work ;
   bf:worktitle [blah] .

:X bf:workTitle [blah] .

In both cases, the type of :X is bf:Work.

For others, perhaps, note that an subject (":X" here) can be of more 
than one type. So there's nothing wrong with saying:

:X a bf:Work;
    a bf:mapType;
    a bf:digitalObject .

if you want to do that. And those types could either be explicit ("a 
bf:xxx") or inferred. The latter could take advantage of something like

bf:coordinates domain=mapType
bf:digForm domain=digitalObject

And an instance that goes like:

:X a bf:Work;
    bf:coordinates "blah" ;
    bf:digForm <URI-for-PDF> .

That's probably not how you'd do forms, but it's the example that came 
to mind.

What this does mean is that you have to be careful what domains you 
define for your properties, because they add semantics to your subjects. 
(The most visible way to test this, IMexperience, is by defining classes 
as disjoint and then mixing properties from those classes in a single 
graph. Reasoners come back with an "inconsistent" conclusion, telling 
you your data doesn't match your ontology.)

kc



> 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. id.loc.gov <http://id.loc.gov> 
> does this quite a bit ;the work on linked data fragments looks to 
> combine this with client side query processing.
>
> Simon
>

-- 
Karen Coyle
[log in to unmask] http://kcoyle.net
m: +1-510-435-8234
skype: kcoylenet/+1-510-984-3600