RDF Schema (do inglês, "Resource Description Framework Schema", às vezes abreviado para RDFS, RDF (S), RDF-S ou RDF / S ) é um conjunto de classes e propriedades RDF que formam uma extensão do vocabulário básico de RDF.[1] RDFS é usado para estruturar vocabulários RDF.
A primeira versão foi publicada pelo World Wide Web Consortium (W3C) em abril de 1998,[2][3] e a recomendação final do W3C[1] foi publicada em fevereiro de 2004. Vários componentes RDFS estão incluídos na linguagem mais expressiva OWL .
Construções principais
As principais construções RDFS são classes e propriedades. Depois, há outras construções, definidas como "propriedade de utilidade", que são instâncias particulares de rdf:Property.
Classes
rdfs:Resource é a classe que contém tudo. Tudo o que é descrito em RDF é um recurso.
rdfs:Classe indica que um recurso é uma classe que contém outros recursos.
Um exemplo típico de rdfs:Class is foaf:Person, no vocabulário FOAF.[4] Uma instância de foaf:Person é um recurso conectado à classe foaf:Person por meio das propriedades rdf:type, que indica o tipo (ou, na verdade, a classe) de um elemento específico. Por exemplo, a frase em linguagem natural "Mario é uma pessoa" é formalizada da seguinte forma:
ex:Mariordf:typefoaf:Person
A definição de rdfs:Class é recursiva: rdfs: Class é uma classe de classes, portanto, é uma instância de si mesma:
rdfs:Classrdf:typerdfs:Class
As outras classes descritas na especificação RDF (S) são:
rdfs:Literal - valores literais, como strings ou números. Os literais podem ser simples ou digitados, ou seja, ter ou não um tipo associado.
rdfs:Datatype - a classe do tipo de dados . rdfs: Datatype é uma instância e uma subclasse de rdfs: Class. Cada instância de rdfs: Datatype é uma subclasse de rdfs: Literal.
rdf:XMLLiteral - a classe de literais XML. rdf: XMLLiteral é uma instância de rdfs: Datatype (e, portanto, uma subclasse de rdfs: Literal).
rdf:Property - a classe da propriedade.
Propriedade
Propriedades são instâncias de rdf:Property e descrevem uma relação entre recursos de assunto e recursos de objeto. Uma propriedade, quando usada como tal, é chamada de "predicado".
rdfs:domain define o domínio de outra propriedade, que é a classe do sujeito da qual essa propriedade é predicado.
rdfs:range define o contradomínio de outra propriedade, que é a classe do objeto ao qual essa propriedade é predicada.
Por exemplo, as seguintes declarações são utilizadas para expressar a propriedade ex:empregadotendo como sujeito um recurso do tipo foaf:Person e como objeto um recurso do tipo foaf:Organization
O seguinte triplo exige que ex:Mario seja necessariamente do tipo foaf:Person e ex: AziendaX do tipo foaf:Organization :
ex:Marioex:empregadoex:AziendaX
rdf:type é uma propriedade usada para afirmar que um recurso é uma instância de uma classe. Um qname comumente aceito para esta propriedade é "a".[5]
rdfs:subClassOf é uma propriedade usada para afirmar que um recurso do tipo rdfs:Class é uma subclasse de outra classe; permite, portanto, declarar hierarquias entre classes.[6]
rdfs:subPropertyOf é usado para afirmar que todos os recursos relacionados por uma propriedade específica também são relacionados por outra propriedade.
rdfs:label é usado para fornecer uma versão do nome do recurso que pode ser lida por humanos.
rdfs:comment é usado para fornecer uma descrição de um recurso legível por humanos.
Propriedade de utilidade
rdfs:seeAlso indica um recurso que pode fornecer informações adicionais sobre o recurso do assunto.
rdfs:isDefinedBy indica um recurso que define o recurso do objeto. Esta propriedade pode ser usada para indicar um vocabulário RDF no qual o recurso é descrito.
Exemplos de vocabulários RDF
Entre os vocabulários RDF mais conhecidos representados em RDFS encontramos: [6]