Skip to content

Documentation on configuraiton #2

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

Open
azizbodal opened this issue Mar 30, 2022 · 5 comments
Open

Documentation on configuraiton #2

azizbodal opened this issue Mar 30, 2022 · 5 comments
Labels
documentation Improvements or additions to documentation

Comments

@azizbodal
Copy link

Hi.

Do you have some documentation on how to setup the configuration file? I am looking at your examples but I don't quite understand the setup.

Thanks.

@meitinger
Copy link
Owner

So far the only documentation is in the source and the comments in the examples. PRs are of course always welcome. If I find the time I'll also consider extending the configuration section of the README myself as well.

Setup in general depends on what your schema looks like, or if there even is one.
As the program allows for different data sources and a very flexible mapping between GraphQL and RDF, knowledge of said technologies and OWL is a prerequisite to handcraft your own schema.

If you have an OWL schema already, have a look at the sample config.json file. Change the "EndpointUri", "Name" and "Prefixes" of the "DataSources" section to match your SPARQL endpoint, remove the "Definitions" section containing "Provider": "inline", and update "Uri" and "Location" to match your OWL schema.

@meitinger meitinger added the documentation Improvements or additions to documentation label Mar 31, 2022
@azizbodal
Copy link
Author

azizbodal commented Apr 1, 2022 via email

@meitinger
Copy link
Owner

The schema can be automatically inferred using an OWL file, either stored locally or on the web. Note the dbpedia.owl file in the example folder, and how it is referenced in config.json.

@azizbodal
Copy link
Author

azizbodal commented Apr 1, 2022 via email

@meitinger
Copy link
Owner

Thank you, although it does have it's limitations (due to type inferencing) when large amounts of top-level objects are queried without a filter.

RDFS is supported as well, have a look at Rdf.cs to see what RDFS/OWL constructs can be harvested.

SHACL would definitely make a good source for schema harvesting. If you'd like to contribute, have a look at the existing Providers. They all implement ISchemaProvider.FillSchema(Schema schema). The aforementioned RDF provider can serve as a template for a SHACL harvester.
To register a schema provider, add it to SchemaProviderConfiguration.KnownTypes in Providers.cs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants