roadmap
roadmap copied to clipboard
Strengthen SWI's lead in Semantic Web support
Storage RDF storage is currently memory-based, preventing large datasets from being loaded. Come up with a hybrid RDF storage solution that also uses a disk-based storage back-end (maybe HDT-based or HDT-inspired). Come up with on-the-fly disk-to-memory synchronization and RDF 'garbage collection' from memory to disk.
Serialization formats
- Support loading JSON-LD.
- Uniform API for all parsers/writers (e.g.,
rdf_read_triple(+Stream, ?Format, -Subject, -Predicate, -Object, ?Graph)andrdf_write_triple(+Stream, +Format, +Subject, +Predicate, +Object, ?Graph)).
Standards compliance
- Remove simple literals:
literal(x)↔literal(type(xsd:string,x)) - BCP 47 language-tag matching, e.g.,
rdfs_label/3
Reasoning
- Add OWL reasoner.
* Fix RDFS reasoning (
rdfs_subclass_of/2,rdfs_subproperty_of/2,rdfs_individual_of/2are incomplete; graph leaning in ClioPatria Packrdf-mtis incorrect). - Auto-translate RDF literals ↔ Prolog values. This requires (1) support for XSD datatype composition definitions and (2) lexical-to-value and value-to-canonical-lexical mappings for the basic XSD datatypes.
- Efficient identity closure (e.g., handling of
owl:sameAsin querying and reasoning is currently exponential). * Add RDF support to CHR for entering and dynamically enabling/disabling domain-specific reasoning rules.
Querying
- Full RDF dataset support for SPARQL 1.1.