solid / vocab

Solid Vocabularies
https://solid.github.io/vocab/
42 stars 14 forks source link

document use of FOAF and VCARD together #22

Open elf-pavlik opened 7 years ago

elf-pavlik commented 7 years ago

from gitter chat

elf Pavlik @elf-pavlik Nov 20 15:22 Since solid uses WebID Profiles does anyone see problem with simply registering in type index container for foaf:Person profile.registerType(solid.vocab.foaf('Person'), 'https://storage.example/civr5dp8p0000n5prdue8qwip/civr5ft5z0000nppr6mrb0i1q/', 'container', true)

elf Pavlik @elf-pavlik Nov 20 15:23 so in this container would keep a copy of WebID profiles of all the people i want to bookmark so each resource in that container would have <> foaf:primaryTopic {webid} just as WebID Profile it keeps copy of

elf Pavlik @elf-pavlik Nov 20 15:30 profile.registerType(solid.vocab.foaf('PersonalProfileDocument'), ...) but that dosn't work if i want register containers to collect copies of profiles for groups, projects, organizations, places, events, books, movies ... anything

elf Pavlik @elf-pavlik Nov 20 15:45 registering types of things that documents describe seems more practical then trying to register types of documents

elf Pavlik @elf-pavlik Nov 20 15:50 vcard:VCard doesn't seem to distinguish the thing from the document as foaf:Person and foaf:PersonalProfileDocument do The vCard class is equivalent to the new Kind class, which is the parent for the four explicit types of vCards (Individual, Organization, Location, Group) above suggests that vcard:Individual matches foaf:PersonalProfileDocument and not foaf:Person

elf Pavlik @elf-pavlik Nov 20 15:57 and if social graph should rely on vcard then WebID and Solid WebID Profiles Spec should also use vcard not foaf

elf Pavlik @elf-pavlik Nov 20 16:16 http://vowl.visualdataweb.org/webvowl/index.html#iri=http://www.w3.org/2006/vcard/ns

:VCard a owl:Class ;
owl:equivalentClass :Kind .
:Individual a owl:Class ;
rdfs:subClassOf :Kind ;

I wonder what @deiu tied to do with https://github.com/linkeddata/contacts/blob/ac9f0888fea289b5645033f1533677d78a7fe932/app/app.js#L333

g.add($rdf.sym(''), RDF('type'), VCARD('VCard'));
g.add($rdf.sym(''), VCARD('hasIndividual'), $rdf.sym('#card')); // hasIndividual doesn't exist!
g.add($rdf.sym('#card'), RDF('type'), VCARD('Individual'));

elf Pavlik @elf-pavlik Nov 20 16:25 https://www.w3.org/TR/2004/REC-owl-guide-20040210/#equivalentClass1

The property owl:equivalentClass is used to indicate that two classes have precisely the same instances.

given turtle excerpt from vcard ontology describing relationship between vcard:VCard, vcard:Kind and vcard:Individual I underatand that each instance with type vcard:Individual has also type vcard:VCard what then solid-contacts means by solid-hacks:hasIndividual

<> a vcard:VCard ;
solid-hacks:hasIndividual <#card> .
<#card> a vcard:Individual .

elf Pavlik @elf-pavlik Nov 20 16:32 https://www.w3.org/TR/owl2-primer/#Class_Hierarchies

Stating that Person and Human are equivalent amounts exactly to the same as stating that both Person is a subclass of Human and Human is a subclass of Person.