Re: How to avoid that collections "break" relationships

On 25 Mar 2014, at 16:48, Markus Lanthaler <markus.lanthaler@gmx.net> wrote:

> On Monday, March 24, 2014 6:49 PM, Vuk Milicic wrote:
>> Hi Markus,
>> 
>> How about this:
>> 
>> </markus/friends/> rdfs:subClassOf schema:Person .
> 
> This would imply that /markus/friends is a schema:Person, which it is not.
> It is a collection keeping references to persons.

Yes, in that scenario </markus/friends> identifies "a Markus' friend", not the collection. If described this way, it would still keep references to people through the rdf:type property.
Similarly: </markus/friends[/page/{page}> rdfs:subClassOf </markus/friends> .


>> </alice> a </markus/friends/> .
>> </markus> schema:knows </alice> .
> 
> So, how would I link from /markus to /markus/friends?

I am not an OWL expert, but I will give it a try (note that OWL Full must be used):

</markus/friends> a owl:Class ;
	rdfs:subClassOf schema:Person,
		[
			a owl:Restriction;
			owl:onProperty [ owl:inverseOf schema:knows ];
			owl:hasValue </markus> 
		]



Vuk MIlicic
@faviki

Received on Tuesday, 25 March 2014 17:05:19 UTC