weso / srdf Goto Github PK
View Code? Open in Web Editor NEWSimple RDF interface
Home Page: http://www.weso.es/srdf/
License: MIT License
Simple RDF interface
Home Page: http://www.weso.es/srdf/
License: MIT License
Add support for streaming or pagination when querying to large triple stores like DBpedia or Wikidata.
The Jena-SPARQL-API library seems to do this already, so maybe we should just adopt it and maybe add a wrapper?
Automate the generation of documentation.
We started to use mdoc to generate documentation as well as unidoc to generate ScalaDoc documents integrated with the documentation and docusaurus to generate the website.
One final step that is not yet working is to automate the deployment of the docs to gh-pages after a tag is being created.
For some reason, when executing the tests with scalaTest, it freezes. After stopping the system and running a single test, it works again.
Add a pure Scala implementation of the SRDF interface
For methods that access to external resources, change their signature to use the IO monad.
At this moment, the internal representation of RDFParser is based on a function from RDFNode and RDFReader to Either[String,A]
.
It can be changed to be use a EitherT[ReaderT[...
Improve documentation of srdfJena
Deploy and Publish documentation in gh-pages
Add cross compilation to scala 2.12 and 2.13 as has already been done in utils.
In order to handle concurrent and cancellable tasks, I think it is better to replace the signature of Jena model creation methods from:
def empty: IO[RDFAsJenaModel]
to
def empty: Resource[IO,RDFAsJenaModel]
This issue contains a roadmap and other meta-issues.
Could we extend object RDFNode as follows:
val RDFhtmlStringDatatypeIRI = IRI(rdfSyntax + "HTML")
in:
object RDFNode {
val xsd = "http://www.w3.org/2001/XMLSchema#"
val rdfSyntax = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
val StringDatatypeIRI = IRI(xsd + "string")
val RDFhtmlStringDatatypeIRI = IRI(rdfSyntax + "HTML")
val LangStringDatatypeIRI = IRI(rdfSyntax + "langString")
val BooleanDatatypeIRI = IRI(xsd + "boolean")
val IntegerDatatypeIRI = IRI(xsd + "integer")
val DoubleDatatypeIRI = IRI(xsd + "double")
val DecimalDatatypeIRI = IRI(xsd + "decimal")
val rdftype = IRI(rdfSyntax + "type")
val rdfnil = IRI(rdfSyntax + "nil")
val rdffirst = IRI(rdfSyntax + "first")
val rdfrest = IRI(rdfSyntax + "rest")
...
...
Ralph
We currently have the following code from 0.0.87 (trying to update to the latest version of shaclex since Bintray disappearance to use your GH Maven repo):
Result result = validateInternal(dataModel, shapeModel);
final RDFReader valReport = result.validationReport().right().get();
Either<String, String> valReportAsTurtle = valReport.serialize(RDFLanguages.strLangTurtle);
I am trying to convert it to use cats resource but so far I have been unable to lift the instance of the RDFBuilder from the Resource:
Result result = validateInternal(dataModel, shapeModel);
IO<Resource<IO, RDFAsJenaModel>> emptyModel = RDFAsJenaModel$.MODULE$.empty();
Resource<IO, RDFAsJenaModel> jenaModelResource = emptyModel.unsafeRunSync(IORuntime.global());
final RDFReader valReport = result.validationReport().toRDF(jenaModelResource???);
Either<String, String> valReportAsTurtle = valReport.serialize(RDFLanguages.strLangTurtle);
Could you please help us with an example or point me to the right place in the cats documentation where I can find some guidance?
I was using https://www.weso.es/srdf/docs/srdfJena as a guidance but RDFAsJenaModel.empty
instance does not have a method use
as shown in the docs (at least not in the JVM signature, maybe it was generated to another class).
Thanks in advance!
The SRDF interfaces have been designed in an incremental way by looking at the needs for validation. It would be better to provide a good design of the different interfaces in a more principled way.
We could adopt Banana RDF's type classes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.