Comments (1)
It seems to be standard for prefix:entity
to be expanded to a full URI for storage in SPARQL engines. Users can define prefixes however they like in an input .ttl
file, in general an engine would have to expand to URIs at insert time.
Upsides to expanding:
a. Common implementation approach / the standard assumes (but does not require) QNames are stored as expanded URIs.
b. Versioning can be handled by just changing a prefix definition in a query or .ttl
file. Not something you see people do very often AFAICT.
c. Easier to support N-Quads files and the like where prefixes are already expanded - or .ttl
files that don't consistently use prefixes.
Some downsides:
- Not being able to get short URIs out easily without post-processing.
- Having no enforcement of standard prefixes for a given graph.
- Every query and input file needs to specify all prefixes.
- More space/time cost for the engine and all downstream tasks.
- More complexity for downstream clients - they may need to know prefixes to do any URI matching unless they use an RDF helper library.
In balance I wonder whether it's worth deviating from standard practice here.
One useful feature would be to allow standard prefixes to be defined in the store to simplify use. Side note: Blazegraph supports some [default prefixes],(https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual#Automatic_prefixes) so you don't need to specify them in queries.
from akutan.
Related Issues (20)
- Log service HOT 7
- Is there a command line tool to import data? HOT 1
- Remove old queryFacts and insertFacts paths HOT 1
- SPARQL 1.2 WC3 Community Group HOT 1
- Implement backup/restore
- godoc.org import paths broken HOT 1
- logspec: redirect needs scope
- db-scan -keys no longer works
- Can't see how to resolve views.proto for Ubuntu 18.04 HOT 2
- don't assume all predicates are transitive. HOT 1
- Hard to use beam, need more details
- run "make run" error HOT 3
- How to delete exist Beam's Disk Views before restarting the cluster HOT 3
- Using beam as a library, or at least allow imporing its packages HOT 4
- Logo? HOT 1
- local model HOT 1
- Does this support deleting edges based on the type of edge? HOT 1
- prod deployment docs HOT 2
- use of vendored package not allowed HOT 4
- is akutan is still under active development and mainetnance ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from akutan.