Print

Print


Thanks for 'splaining - but here goes...

On 11/5/14 2:35 PM, Simon Spero wrote:
[log in to unmask]" type="cite">
bf:workTitle is not an instance of class bf:Work; it is an instance of owl:ObjectProperty (and/or  of rdf:Property ). 

I am not quite sure what you mean by class-ness flowing from property to subject . 

You can infer class from the range or domain of properties.  In the general case, you cannot infer that a property entails a more specific sub-property given just simple domain and range constraints.  

That's not quite what I said. You can infer class of the subject from properties, but cannot do the versa -- you cannot infer the class of a property from the class of the subject. Therefore where:

bf:workTitle has domain bf:Title

and

:X a bf:Work
      bf:workTitle[  a bf:Title  ;
            bf:titleValue"Heart of Midlothian"  ]  .

You do not infer that bf:workTitle has a class of bf:Work from :X. Note that this is a common confusion for folks coming from XML or OO, where class is inherited to properties.


[log in to unmask]" type="cite">
 
So a SPARQL query of "get me all the triples for class=bf:Work" will retrieve
 
:X a bf:Work

under an rdfs entailment regime or greater, a query for :Work in the value position will return :X and :Y . 
 
but never bf:workTitle, regardless of what graph it is found in. You *will* however be able to query for all bf:Title(s).

If the graph union includes the ontology, and the sparql query includes  "?S ?P :Work" , you will get bf:workTitle rdfs:domain :Work  .

I was speaking of the case in which bf:workTitle rdfs:domain bf:Title.

[log in to unmask]" type="cite">

That doesn't seem to be what you were asking for though. 

If you can clarify your question I may be able to give a more useful answer.
Actually, I don't really need answers. I would enjoy some mutual discussion, however.

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