roadmap icon indicating copy to clipboard operation
roadmap copied to clipboard

Strengthen SWI's lead in Semantic Web support

Open wouterbeek opened this issue 10 years ago • 0 comments

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) and rdf_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/2 are incomplete; graph leaning in ClioPatria Pack rdf-mt is 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:sameAs in 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.

wouterbeek avatar Sep 25 '15 21:09 wouterbeek