Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
sparnatural
Advanced tools
Readme
Sparnatural is a visual client-side SPARQL query builder for exploring and navigating RDF Knowledge Graphs. It is written in Typescript.
It supports the creation of basic graph patterns with the selection of values with autocomplete search or dropdown lists, or other widgets. It can be configured through an OWL configuration file (that can be edited in Protégé) that defines the classes and properties to be presented in the component. SHACL-based configuration will be added soon.
You can play with online demos at http://sparnatural.eu#demos.
To get started :
Select the type of entity to search...
... then select the type of the related entity.
In this case there is only one possible type of relation that can connect the 2 entities, so it gets selected automatically. Then select a value for the related entity, in this case in a dropdown list :
Congratulations, your first SPARQL query criteria is complete !
Now you can fetch the generated SPARQL query :
This enables to navigate the graph :
Combine criterias :
Select multiple values for a criteria :
(UNIONs are not supported)
Sparnatural offers currently 9 ways of selecting a value for a criteria :
This is useful when a type a of entity is used only to navigate the graph, but without the ability to select an instance of these entities.
Sparnatural is multilingual and supports displaying labels of classes and properties in multiple languages.
Sparnatural supports the OPTIONAL
and FILTER NOT EXISTS {}
keywords applied to a whole "branch" of the query.
See here how to search for French Museums and the name of Italian painters they display, if any :
There is currently an experimental support for the SERVICE keyword for federated querying.
Sparnatural does not support the creation of UNION, BIND, or aggregation functions (like COUNT
)
To send SPARQL queries to a service that is not hosted on the same domain name as the web page in which Sparnatural is included, the SPARQL endpoint needs to allow Cross-Origin Resource Sharing (CORS). But we have a SPARQL proxy for those who are not, don't worry ;-)
The component is configurable using a an OWL configuration file editable in Protégé. Look at the specification files of the demos to get an idea.
Alternatively one can also use a JSON(-LD) ontology file. This is however discouraged.
:Museum rdf:type owl:Class ;
rdfs:subClassOf core:SparnaturalClass ;
core:faIcon "fad fa-university" ;
core:sparqlString "<http://dbpedia.org/ontology/Museum>" ;
core:tooltip "A <b>DBPedia Museum</b>"@en ,
"Un <b>Musée DBPedia</b>"@fr ;
rdfs:label "Museum"@en ,
"Musée"@fr .
:displayedAt rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf core:AutocompleteProperty ;
owl:inverseOf :displays ;
rdfs:domain :Artwork ;
rdfs:range :Museum ;
core:sparqlString "<http://dbpedia.org/ontology/museum>" ;
datasources:datasource datasources:search_rdfslabel_bifcontains ;
rdfs:label "displayed at"@en ,
"exposée à"@fr .
It is possible to directly reference an icon class from font-awesome if you embed them in your application :
:Person rdf:type owl:Class ;
core:faIcon "fad fa-male" ;
The OWL file to use is different from your knowledge graph ontology definition. You should create a different OWL file. You can refer to the documentation page for more details.
Classes or properties in the config can either:
core:sparqlString
annotation.Here is an example of a simple property in a Sparnatural configuration that is mapped to a property path in the underlying knowledge graph:
:bornIn rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf core:ListProperty ;
rdfs:domain :Person ;
rdfs:range :Country ;
core:sparqlString "<http://dbpedia.org/ontology/birthPlace>/<http://dbpedia.org/ontology/country>" ;
FAQs
Visual SPARQL query builder
The npm package sparnatural receives a total of 27 weekly downloads. As such, sparnatural popularity was classified as not popular.
We found that sparnatural demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.