Classification One way to make the world more understandable is to classify its objects, i.e. to put them into classes (the apples, the pears, the cars, the human beings, the thougts, ...) RDFS: RDF Schema Definition • RDF objects (resources) can be classified by associating them with classes. • An RDF class is a resource of type rdfs:Class • A resource O is an instance of a class C if it has type C, i.e. if there is a triple (O rdf:type C) G. Falquet 2014 Université*de*Genève*.*G.*Falquet* RDFS* 1* Université*de*Genève*.*G.*Falquet* RDFS* Example Multi-classification Represent ex:doc23.doc and ex:d97.doc are articles an object may be an instance of several classes 1. define a class Article 2. assign type Article to ex:doc23.doc and ex:d97.doc rdfs:Class* rdf:type* ex:ScientificText* rdf:type* ex:Article* rdf:type* rdf:type* rdf:type* ex:Document* rdfs:Class* ex:doc23.doc* 2* rdf:type* rdf:type* ex:Article* rdf:type* ex:doc23.doc* rdf:type* ex:d97.doc* Université*de*Genève*.*G.*Falquet* RDFS* 3* Université*de*Genève*.*G.*Falquet* RDFS* 4* Structuring the classes : subClassOf Example every published article is an article and a publication, and an article is a document • To better understand the world, organize the classes in a generic/ specific hierarchy • A class C is a subclass of D if every instance of C is also an instance of D ex:Document* ex:Publication* rdf:type* Rem. 1. the sublcass relation is transitive 2. if A is a subclass of B and B is a subclass of A then A and B are equivalent rdf:type* rdfs:subClassOf* rdf:type* ex:Article* rdfs:subClassOf* rdfs:subClassOf* Université*de*Genève*.*G.*Falquet* RDFS* 5* Université*de*Genève*.*G.*Falquet* rdfs:Class* rdfs:subClassOf* rdf:type* ex:PublishedArticle* rdf:type* RDFS* 6* Inferences The class and instance levels RDFS**has*predefined*entailment*rules:* It is generally a good idea to have two separate levels rdfs:subClassOf* from% infer% P*rdfs:domain*C*.*x*P*y*.* x*rdf:type*C* P*rdfs:range*D*.*x*P*y*.* y*rdf:type*D* P*rdfs:subPropertyOf*Q*.** Q*rdfs:subPropertyOf*R*.** P*rdfs:subPropertyOf*R*.** * P*rdfs:subPropertyOf*Q.*x*P*y*.** x*Q*y*.* Classes* rdf:type* C*rdf:type*rdfs:Class.*D*rdf:type*rdfs:Class.* C*rdfs:subClassOf*E*.** E*rdf:type*rdfs:Class.* C*rdfs:subClassOf*D*.*D*rdfs:subClassOf*E*.* C*rdfs:subClassOf*D.** x*rdf:type*C.** Instances* x*rdf:type*D*.** * p* r* q* r* p* Université*de*Genève*.*G.*Falquet* RDFS* 7* Université*de*Genève*.*G.*Falquet* RDFS* 8* A Modeling Question RDF allows any combination rdf:type* Deciding if X should be a class or an instance is a matter of modeling Université*de*Genève*.*G.*Falquet* rdfs:subClassOf* rdfs:Class* ex:Food rdf:type rdfs:Class ex:pizza rdf:type ex:Food ex:kebab rdf:type ex:Food or ex:Food rdf:type rdfs:Class ex:pizza rdfs:subClassOf ex:Food ex:kebab rdfs:subClassOf ex:Food rdf:type* rdfs:subClassOf* RDFS* 9* Université*de*Genève*.*G.*Falquet* rdf:type* rdf:type* RDFS* Predefined classes Structuring properties rdfs:Resource • Specify the domain and range of a property rdfs:Class – ex:teaches rdfs:domain ex:professor – ex:teaches rdfs:range ex:course rdf:Property rdfs:Literal the set of literal values, eg. textual strings. rdf:Statement rdfs:Container , rdf:Bag , rdf:Seq 10* • Specify subproperties , rdf:Alt – ex:motherOf rdfs:subPropertyOf ex:parentOf Université*de*Genève*.*G.*Falquet* RDFS* 11* Université*de*Genève*.*G.*Falquet* RDFS* 12* Predefined properties Example rdfs:Resource* rdfs:subClassOf* rdfs:subClassOf* rdfs:subClassOf* rdfs:isDefinedBy " rdf:value " rdf:subject " rdfs:comment " rdf:predicate " rdfs:label " rdf:object " rdfs:domain " rdf:type (instance of)" rdfs:range " ex:IntellectualWork* rdf:type* rdfs:subClassOf* rdfs:range* rdfs:domain* ex:ArZcle* rdfs:subClassOf " rdf:type* rdf:type* ex:Ztle* RDFS* 13* The top level ex:name* "Bob*de*Moore"* "RDF*Model*SemanZcs"* Université*de*Genève*.*G.*Falquet* more ... ex:Researcher* ex:wriWenBy* ex:doc3901.txt* Université*de*Genève*.*G.*Falquet* ex:Person* ex:wriWenBy* rdfs:subClassOf* rdfs:seeAlso * rdfs:member " rdf:Property* RDFS* 14* type Class" type type" Class" type Container" Container" type type" subClassOf" subClassOf" Ressource" subClassOf subClassOf" subClassOf type" Ressource" Bag" subClassOf" Property" subClassOf" Statement" type" type" range" domain" Université*de*Genève*.*G.*Falquet* RDFS* 15* Université*de*Genève*.*G.*Falquet* RDFS* 16*
© Copyright 2024 ExpyDoc