Am 27.08.2015 um 04:12 schrieb Karen Coyle: > I, too, am puzzled about the semantics of this. To me it says: > > <some resource> <has a contributor> x > x is a Contributor > x has role <role> > x has agent <agent> > > x obviously doesn't *have* an agent in the way that it has a role -- STOP. The only thing obvious is that exactly this is stated. So we have to adapt our understanding of the nature of x to fit our understanding to the statement. The obstacle seems to be the clash between the meaning of bf:Contributor and our understanding of "contributor" and it was already proposed to change the label of the class to more properly reflect whats really going on in the node. > <agent> is the identifier for x. But I don't see how x can *be* both x > AND some agent. In this example "x" represents the contributor, and > <agent> also represents the contributor. Or, if you look at it in terms two meanings of "contributor" in one sentence. Too bad. > of what entity is being described, it comes down to "x has agent <x>" > because they are talking about the same thing. (This seems to call for > "owl:sameAs".) > > I think this is one of the tricky aspects of using blank nodes. It isn't > that they represent a blank -- they represent a specific thing that, at > that moment in time, has no name. But it's still a thing. It's not, as > it has been called here, a data structure. So the bnode x is a real Reading the RDF primer it seems to be perfectly legal to model any "compound data structure" this way. We only have to realize what the "thing" is which is described by that graph. We want to give a precise description of the relation between our resource and the agent (leaving out for now that the identifier proposal might tend to introduce another intermediate node separating the agent from that what we can tell about him) and therefore we record the role (and may annotate this or give references in cases where the identification is tricky or non obvious). If we read that backwards we are describing the contribution of the agent with respect to the given resource. So viewing the "x" from above as of class bf:Contribution (please for one moment don't confuse that with an actual article in a proceedings volume) makes at least as much sense as naming it a bf:Contributor. We could go a step further and express that "x" is an area where /cataloguers/ add value by identifying agents and their roles alike. Then maybe a good class name for "x" would be bf:RoleDescription (kind of a "document"?) or bf:RoleIdentification (more like fixing the outcome of an "action"?). There is an asymmetry: So much can be told about the agent and on the other hand specifying the role is just some tiny statement. So especially humans do want to know that there is a relation to Shakespeare first (and which Shakespeare) before they want to be bothered by noticing the nature of the relation. So having a property named bf:contributor or bf:hasContributor is accommodating this kind of human zigzag behavior. But we wouldn't go that far as providing our Shakespeare graph with some impressing list of roles which back-link to our resource (I have outlined exactly that way of modeling in authority records when it comes to identifiers and schemes). So if a RoleDescription implicitly has a link to a resource like in x [ a bf:RoleDescription; hasRole xyz:writerOfForweord ; appliesToAgent ... ; withRespectToResource <someResource>]. how do we streamline that when embedding it into a description of our <someResource> (leaving out the then implicit withRespcectToResource property or rather emplying an inverse property for that)? Naming properties with "has..." usually stress the next hop, can we think of a property name which indicate that we'll eventually arrive at an agent? Would use of genitives in property names be legitimate like in <some resource> <agent's role> / <agent's contribution> [ a bf:RoleDescription / bf:RoleIdentification / bf:Contribution ; ... ]. Mot only PROV-O but also FRBRoo switches from a static view (describing results of actions manifest somewhere) to a dynamic view (describing the relevant actions themselves with consequences as to where dates and places are to be recorded). Should we altogether abandon the perspective that an agent has illustrated a resource (like an frbr:expression - way to immaterial to be pencilled on if you start to think of it) in favor of a view of /events/ performed by our agents which (in a possibly complex chain of further events not detailed in library descriptions) have some recognizable outcome in the entities we describe? %-- Of course there is an easy technical way to enforce sanity in the class Names by just stating the obvious and not trying any further conceptualization: <some resource> bf:hasAgentWithRole [ a bf:AgentWithRole ; has role <role> has agent <agent> ]. viele Gruesse Thomas Berger