| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From experimenting with FTS5, our usage patterns, and the 'integrity-check'
FTS command, it turns out the 'delete' command does not entirely like doing
partial updates on a row, it instead expects the command to be issued for
all table columns.
The only way to keep the FTS index happy is that we issue FTS deletes/inserts
for all columns in the FTS table whenever we update a rowid, and that the
select query on the external table "fts_view" is as-is for the given rowid.
For that we must move the COALESCE() that filters out rows with all-empty
text columns from the FTS updating queries to the fts_view view itself.
In order to automatically fix possible corruptions in existing databases,
and update to the fts_view change, we must trigger all our sorts of FTS
updates: A pointless FTS field (nco:phoneNumber) was removed to trigger
an update on the fts view+table, and the parser version was bumped to ensure
the FTS index is rebuilt. These modifications will update existing databases
to fix any existing corruption.
Closes: https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/253
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prefix is used in some of our base SPARQL API (e.g. fts:match
and the misc functions to deal with results), but the prefix is
currently defined in the Nepomuk ontology side.
This makes applications that want to use FTS with custom ontologies
either need to declare the prefix themselves, or help queries with
`PREFIX` syntax to add the missing stock prefix.
Move this prefix definition to the base ontology, so all databases
inherit the builtin fts: prefix and it can be used right away in
FTS queries.
|
|
|
|
|
| |
A little help for the new documentation tool, so this ontology
is picked up.
|
|
|
|
|
|
| |
Upstream Nepomuk doesn't specify a unit, but it's a useless value
without one. GStreamer extractor treats duration as seconds so
lets declare that as the standard.
|
|
|
|
|
| |
We should have a representation for Games (even if minimal) to be useful
to GNOME Games.
|
|\
| |
| |
| |
| |
| |
| | |
Last API changes (?)
Closes #218 and #226
See merge request GNOME/tracker!274
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
NRL is about defining the data structure, all our additional properties
somehow belong in that same domain. This also moves all tracker:*
properties and classes out of the base ontology (except for the tracker
namespace itself, sadly, as it's needed for functions).
All users have been updated to the new namespace for these properties
and classes.
Fixes: https://gitlab.gnome.org/GNOME/tracker/-/issues/226
|
|/
|
|
|
|
| |
This is a string property that can be set on nfo:FileDataObject,
it will be used to uniquely identify the extractor that extracted
its metadata.
|
|\
| |
| |
| |
| |
| |
| | |
Shrink ontology a little
Closes #212
See merge request GNOME/tracker!249
|
| |
| |
| |
| |
| | |
These changes reduce the number of tables in the database, saving a
little disk space. Total saving is 44KiB in an empty database.
|
| |
| |
| |
| |
| | |
This is a random set of data which nobody is using. Removing it reduces
size of an empty database by 16KiB.
|
|\ \
| | |
| | |
| | |
| | | |
ontologies: Add a nmm:artist property for nmm:MusicPiece
See merge request GNOME/tracker!261
|
| | |
| | |
| | |
| | |
| | | |
A nmm:MusicPiece can have multiple peformers. This matches the
behavior of the original nepomuk ontology.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This new property allows to distinguish the track artist (nmm:artist)
from the performer (nmm:peformer).
It is intended to match the description from the vorbis
specifications:
* the artist is "The artist generally considered responsible for the
work. In popular music this is usually the performing band or
singer. For classical music it would be the composer."
* the performer is "The artist(s) who performed the work. In classical
music this would be the conductor, orchestra, soloists. In
popular music this is typically the same as the artist and is
omitted."
|
|/
|
|
|
|
|
|
|
|
| |
This class will represent all indexed folders, mount points or not.
The tracker:available and tracker:isMounted properties are now a
single tracker:available property set on the nie:DataSource (like
tracker:unmounted previously).
Files won't be "available" themselves, users should update to poking
the availability of the nie:dataSource.
|
|
|
|
|
| |
This is needed so we continue to get notifications for
data created by the miner-fs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of these are unused within tracker-miners, and as far as we know
they are also unused in GNOME.
Each ontology has a cost on database size and on time to create a
new database, so it's good to limit these as much as we can.
Alternatives:
- nid3: use nmm ontology
- ncal, scal: use evolution-data-server as GNOME Calendar does
- mlo: use slo ontology
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our ontology URLs now use a namespace that we manage, at
http://tracker.api.gnome.org/. This domain won't expire and can
redirect anywhere we want, so that it can always link to the
correct documentation for the ontologies.
We are going to continue using the Nepomuk name in the ontologies
that were developed by the Nepomuk project, despite changing the
URL. This way we acknowledge that we have downstream changes to
the Nepomuk ontologies but still provide a link to the original
shared vocabularies.
Fixes https://gitlab.gnome.org/GNOME/tracker/-/issues/162 and https://gitlab.gnome.org/GNOME/tracker/-/issues/104
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change was motivated by https://gitlab.gnome.org/GNOME/tracker/issues/104.
We want to move to using URLs that we control for the ontologies, like
this:
http://api.gnome.org/ontologies/nfo/3.0/#Document
http://api.gnome.org/ontologies/nfo/3.0/#url
For this scheme to work, each ontology needs to document all classes
and properties on a single page.
It's an opportunity to reorganize the documentation too and try to
prioritize the most important info. Here's a partial list of
changes in this commit:
* One page per ontology, listing all classes and properties defined
in that ontology.
* URL fragments matching class and property names, so for example
/nmm.html#artistName links to the nmm:artistName property.
* Cross references now work between libtracker-sparql3 and
tracker3-nepomuk ontology docs
* Properties are shown as a concise table.
* Classes and properties are listed in alphabetical order.
* New 'tracker:classSpecification' and 'tracker:propertySpecification'
properties which allow us to link to upstream documentation.
* New 'synopsis' section for each ontology showing appropriate Turtle
@prefix statement
Also, the `docs/tools/ttl2xml` program now returns failed status
when it encounters parse errors in an ontology.
|
| |
|
|
|
|
|
|
| |
It's an extension to nepomuk, unused, documented as "not making sense",
and the problem highlighted is indeed accurate. Since it's got no use, just
remove it.
|
|
|
|
|
|
| |
This was defined in upstream nepomuk but not by ourselves. Seems a
nicety to have, also drop some minimal support that was added for
this as non-upstreamed nepomuk extensions.
|
|
|
|
| |
It's been deprecated and unused for a long time.
|
|
|
|
|
| |
This seems an incipient ontology for points of interests that never
flew. Drop this.
|
|
|
|
| |
This is unused.
|
|
|
|
| |
This is unused.
|
|
|
|
|
|
|
|
|
|
| |
This is necessary for a full decoupling of InformationElement and
DataSource (i.e. allowing 1:N, M:1, or M:N relationships). In order
to compensate for these properties being multivalued, add indexes
for both, these are pretty central properties.
Also, undeprecate nie:isStoredAs, I don't know why was this added,
but it's delusional it ever was.
|
|
|
|
| |
Lift those from nepomuk, for the most part.
|
|
|
|
| |
Those are not even string properties.
|
|
|
|
|
| |
This is used to hint ontology bits as deprecated, and used in our doc tool,
make it sure we don't rely on ontology bits that might even not be there.
|
|
|
|
|
|
| |
This ontology offers oddly high-level concepts like nao:Tag, which don't
make much sense to define in the core. Now that we no longer rely on
this ontology for defining other ontologies, we can just move it.
|
|
|
|
|
| |
Add a tracker:lastModified property that only applies to tracker:Ontology,
instead of using this such high-level property.
|
|
|
|
|
| |
This was a non-standard SPARQL feature which was untested and unused
apart from by a property in the obsolete Maemo ontology.
|
|
|
|
| |
It's very obsolete.
|
|
|
|
|
| |
The class links were being generated incorrectly because the tracker:
ontology didn't specify a prefix.
|
|
|
|
|
| |
This is generally stored as a BLOB type, with the "$string\0$locale"
format. Conversions between string and langString types are allowed.
|
|
|
|
|
| |
This is a base feature of RDF used in Sparql collections. Add ontology
support for it.
|
|
|
|
| |
It was unused, plus we could better harness temporary tables for this.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Revert MusicBrainz ontology
See merge request GNOME/tracker!111
|
| |
| |
| |
| |
| |
| | |
This reverts commit d8aa7c57d309c02ceb01e64f57dc6a6124e47859.
MusicBrainz tags will be defined with ExternalReference instead.
|
|/
|
|
|
|
|
|
| |
tracker#ExternalReference allows to introduce references to
identifiers provided by an online service.
For example, one can map a nmm#MusicAlbum with its Release Group Id
provided by MusicBrainz (https://musicbrainz.org/doc/Release_Group).
|
|
|
|
|
|
|
|
| |
Musicbrainz is a community-developed database of music metadata, which can provide cover art too.
Musicbrainz has its own identifier namespace which is widely used.
Musicbrainz IDs are stored for music resources in the nmm (multimedia) ontology.
Closes: https://gitlab.gnome.org/GNOME/tracker/issues/13
|
|
|
|
| |
The build_always option is deprecated since meson 0.38.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These NAO ontology extensions were split from the main ontology prior
to 2.0 because they are both non-official and unnecessary for core
ontology concepts.
However, it was apparently never added to build, so this piece of
ontology did effectively disappear. Internally it was just used by the
evolution plugin (which disappeared in 2.0 as well), and since there
has been no outcry it seems mostly unused on the outside. It just doesn't
make sense to mourn for this overly generic ontology.
So drop this file, and just rescue nao:predefined-tag-favorite as
this is still used by apps (it just doesn't happen to be a nao:Tag).
|
| |
|
|
|
|
| |
It is compiled as a GResource
|
|
|
|
|
|
|
|
|
|
| |
nie:copyright and nie:license were single valued and subproperties of the
common single valued properties nie:legal and dc:rights. Drop cardinality
restrictions on all of those, so we can have multiple values for each.
This happens to be in line with the last ever version of NIE ontology.
Closes: https://gitlab.gnome.org/GNOME/tracker/issues/33
|