To specify a rdfs:Class
and organize an ontology, I want to use SKOS. Curently I define my classes using RDFS properties :
:MyClass a rdfs:Class;
rdfs:label "my label";
rdfs:comment "this is a comment";
.
Can I define :MyClass
as a skos:Concept
with SKOS properties and RDFS porperties ? I would have something like that :
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment";
.
I have read that some RDFS properties can be mapped over SKOS properties. So, is there any interest in this syntax ? RDFS and SKOS give the same redundant information here ?
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS porperties ?
One of the beauties of Semantic Web technology is that you can do just about anything that you want to. RDF, the Resource Description Framework is concerned with describing resources. You're not really defining things so much as describing them since, after all, someone could some along later and say additional things.
Now, as to the redundant information in a description like:
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment" .
There's nothing that matter with this, though it is, as you say, a bit redundant in some cases. What you could do, if you wanted to, is to declare your own properties that are subproperties of both of the RDFS and SKOS properties. E.g., you could have:
:myComment rdfs:subPropertyOf rdfs:comment, skos:notes .
:myLabel rdfs:subPropertyOf rdfs:label, skos:label .
and then you could say
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
:myLabel "my label" ;
:myComment "this is a comment" .
Of course, if you're not using a reasoner, or the intended consumer isn't using a reasoner, then they won't know that "my label" and "this is a comment" are the RDFS and SKOS labels and comments of the resource. It really comes down to how you expect this information to be used. Do you really need both an rdfs:label and skos:prefLabel, anyways? Or are you only going to use one? I'd suggest (and this is an opinion) that it makes sense to keep things simpler until you need them to be more complicated.
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS porperties ? I would have something like that :
:MyClass a rdfs:Class; rdfs:subClassOf skos:Concept;
Note that you didn't "define :MyClass as a skos:Concept", but rather you defined :MyClass as a subclass of skos:Concept." There's a big difference there. If :MyClass is supposed to be a skos:Concept, you need to say:
:MyClass a rdfs:Class;
a skos:Concept;
or even more concisely:
:MyClass a rdfs:Class, skos:Concept;