Can I just confirm my understanding of rdf:type.
I can, in RDF, define an instance of an RDFS class with URI 'myclassuri' as follows (RDF/XML):
And then define an instance of this class, as the property of a subject, as follows:
Correct? However, if I then do this, with another set of triples:
Whilst this does define a valid set of triples, the property 'myinstanceuri' is invalid, because it does not have an rdf:type. Is this correct? i.e. it is not an object property defined with an rdf:type (either an RDFS property or an OWL property) and so cannot reference the subject with URI 'someotheruri'.
Is this correct?
Thank you for clarification
First off, if you're new to RDF, please try to avoid RDF/XML as much as possible. It really is the worst syntax to look. Instead, try to look at examples involving N-Triples and/or Turtle. These syntaxes reveal the triple-nature of the RDF model, which is key to understanding it.
Also, I think it's always good practice to use examples in your examples whenever possible. :) That is, generally avoid using
In any case,
Yes, you can do this. The implication then is that
RDF essentially has an Open World Assumption (OWA), which means that it never complains when data are missing where instead, it tries to fill in that missing data through semantics. In this case, the triples you provide are not formally a problem. In this case,
(On an OWL level, the issue is different. OWL has some expectations that you declare object-properties and datatype-properties and classes explicitly as such. However, that's a separate issue which is specific to OWL, not to RDF.)
... your examples are a bit confusing in that you create a class whose instance is a property on a subject whose class ... I dunno. I got lost in the middle. There's nothing formally wrong with your examples, but they're sufficiently strange that I wonder if maybe you're still confused in some aspect of