-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not use anonymous classes #65
Comments
Quite agree but owl:Restrictions are usually used with blank nodes. |
IMO owl:Restrictions -- at least for newcomer / middle 33% use -- are too confusing to be read in Turtle. If they are expressed in a higher-level form, such as Manchester Syntax, they are much more palatable and understandable. But in the higher-level form, the anonymous class is not visible at all. In other words, owl:Restrictions could still be used without having any visible anonymous classes. Also, I am not even convinced that owl:Restrictions -- even using Manchester syntax -- are appropriate for newcomer / middle-33% use anyway. I think closed-world domain, range and property declaration are much more appropriate for this target audience, and we have not yet devised good standard ways to declare those, though ShEx and SHACL are a step in that direction. |
I'm fine with anonymous classes like |
@azaroth42 , can you clarify with an example perhaps? I would normally consider classes to be in the Tbox, so I'm not sure what usage you are envisioning. |
Even with true ABox instance data, blank nodes can be very practically useful for representing structured values (where the value has its own properties) where you don't want the hassle, and potential for accidental collisions, from coining a URI for each value. For example a geographic point (having properties for latitude and longitude). |
I think it should be part of the EasierRDF profile that the following pattern is not allowed:
e.g. a class defined in the instance data which is a blank node, that then has ontology level predicates to define itself. |
I presume that means We need anonymous classes also for logical operators (union and intersection). And we need to continue the Turtle representation because it defines how to access that froOWL classes in SPARQL. But restricting it as a recommendation of practice may be a reasonable thing to do. |
From #50 ...
Anonymous classes (e.g. a blank node as the object of rdf:type) are complicated to consume and mix ontological layers. The instance shouldn't manage its own class, in an easier to use and understand profile of RDF.
Update: This should only be considered as applying to instance data, not ontology definition. Or only to ABox data, not TBox. Thus owl:Restriction classes can still be bnodes, as they're at the ABox layer.
The text was updated successfully, but these errors were encountered: