-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Welcome to the AutoRDF wiki!
AutoRDF is a framework that makes it easy to manipulate concepts described in Web Ontology Language (OWL) within C++ code. It makes it a lot easier to manipulate RDF data within low level, algorithmic code that can be found in embedded software projects.
It abstracts away most of the complexity of OWL/RDF technologies, and makes it easy for the developer to concentrate on its business logic with familiar C++ objects rather than on how its data is read from or written to its triple store.
AutoRDF is based upon Redland library found at http://librdf.org/
AutoRDF should work on any platform where a C++11 compilter is found, and where boost is supported. Currently only Linux/Clang 3.5 is tested, but soon it will be ready for iOS/Android as well.
#Specifications
Code generation AutoRDF supports all of RDFS, and the following subset of OWL:
#owl:Class
Each class defines a C++ interface class, and a C++ implementation class prefixed with "I". It allows easier support for OWL multiple inheritance, which is known to have shortcomings in C++.
Each Data property generates C++ getters and setters
Each Object property generates C++ getters and setters
Inheritance is supported, as well as multiple inheritance. For each inherited class, the C++ object inherits the C++ interface class of all its ancestors (including indirect ancestors)
- owl:Restriction
- owl:cardinality, owl:minCardinality, owl:maxCardinality
- owl:qualifiedCardinality, owl:minQualifiedCardinality, owl:maxQualifiedCardinality
- owl:onDataRange
- owl:onClass
Documentation generation AutoRDF extracts the following annotations and converts them to doxygen format:
- rdfs:comment
- rdfs:label
- rdfs:seeAlso
- rdfs:isDefinedBy
An ontology that contains unsupported item can be handled by AutoRDF, at the cost of some more work left to the end user of the API (Code generation will be less precise than expected by what is found in the ontology)