This page is dedicated to Nepomuk development ideas, progress, experiments, and is a general starting point for new developers.

+

Nepomuk serves as a cross application semantic storage backend. It aims at collecting data from various sources - file indexing, the web, applications, etc, and linking them all together to form a cohesive map of data.

−

For general information about the Nepomuk project see the [http://nepomuk.kde.org/ dedicated Nepomuk homepage].

+

This page is dedicated to third party documentation for Nepomuk. To know more about Nepomuk from a user's point of view, head over to the [http://userbase.kde.org/Nepomuk Nepomuk page on UserBase]. Or to know more about the Nepomuk community and getting involved in Nepomuk, head over to the [http://community.kde.org/Projects/Nepomuk Nepomuk Community Page].

+

== Documentation ==

+

Any new project is intimidating and jumping right into the [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk-core/html/index.html API Documentation] can be scary. So, we have prepared some articles which explain the different aspects of Nepomuk and even touch on some advanced features.

−

== Contact ==

+

The documentation of any project is always in progress as the code base is always evolving. If you feel that the documentation is lacking in some regard, please come talk to us. We'd love to hear your feedback, and the documentation might just get improved in the process.

If you're just getting started with Nepomuk and want to know a quick way to fetch some data.

−

'''Maintainer:''' [mailto:trueg@kde.org Sebastian Trueg]

+

* [[Projects/Nepomuk/QuickStart| Quick Start]]

+

* [[Projects/Nepomuk/OntologyBasics| Basic Ontology concepts]]

+

* [[Projects/Nepomuk/Uris| Questions about URIs]]

−

'''Developers:''' [mailto:handa.vish@gmail.com Vishesh Handa]

+

=== Managing Data ===

+

This section includes more in-depth articles on how manage the data in Nepomuk. As a starting point you should probably open up the [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk-core/html/index.html Nepomuk API Documentation]. It is generally more up to date than the articles mentioned below.

−

== Documentation ==

+

* [[Projects/Nepomuk/Resources| Using Resources]]

−

The [http://userbase.kde.org/Nepomuk Nepomuk page on UserBase] has information and troubleshooting for users.

+

* [[Projects/Nepomuk/ResourceWatcher| Monitoring Changes]]

+

* [[Projects/Nepomuk/BulkChanges| Bulk Changes]]

+

* [[Projects/Nepomuk/DataFeeders| Data Feeders]]

−

The following links provide good reads for getting used to the Nepomuk system and its APIs.

+

=== File Indexing ===

−

* [[Development/Tutorials/Metadata/Nepomuk|Development Tutorials]]

+

With 4.10, the file indexing architecture has substantially changed. We no longer rely on strigi, and have our own plugin based interface.

* [http://trueg.wordpress.com/2009/06/02/nepomuk-and-some-cmake-magic/ Using the Nepomuk Resource Code generator and the Soprano Ontology class generator in cmake]

+

+

* [[Projects/Nepomuk/IndexingPlugin| Writing an Indexing Plugin]]

−

As Nepomuk is highly dependent on its data in the RDF store and the used ontologies, one might consider to read up on RDF and the Nepomuk ontogies:

+

=== Querying ===

−

* [http://www.w3.org/TR/REC-rdf-syntax/ RDF Primer]

+

As you advance into Nepomuk, you'll want to move beyond just fetching and pushing data and will want to query Nepomuk for specialized data. One can query Nepomuk is many different ways, the important part is to optimize your queries and make sure they run well on production systems where the database sizes may way very large.

−

* [http://www.semanticdesktop.org/ontologies Nepomuk Ontologies]

+

−

* [http://dev.nepomuk.semanticdesktop.org/wiki/OntologyMaintenance Experimental Nepomuk Ontologies and Ideas for new ones]

Nepomuk is a rather young project with a notorious shortage in developers. There are many tasks and subprojects to get ones hands dirty on. Unlike other projects like Plasma, however, developing for Nepomuk is not easy. One has to read up on a lot of things and fight some day-to-day annoyances. But: helping with the development will improve the situation in any case.

+

* [[Projects/Nepomuk/GraphConcepts| Graph handling]]

+

* [[Projects/Nepomuk/VirtuosoInternal| Virtuoso Internals]]

+

* [[Projects/Nepomuk/OntologyExtention| Extending the Ontologies]]

−

If you are interested in working on a task in this list, please contact [mailto:trueg@kde.org Sebastian Trueg].

If you want to get into Nepomuk development quickly by taking over a small task have a look at our [[Projects/Nepomuk/JuniorJobs|Junior Job page]].

+

−

=== Low level Nepomuk Development Tasks ===

+

The following links provide good reads for getting used to the Nepomuk system and its APIs. <br\>

−

+

They are slightly outdated, but still has some useful material.

−

The low-level development tasks are those that are not directly reflected in the GUI or even in the API used by most developers. However, they are important in terms of performance, scalability, and compatibility.

Revision as of 20:30, 3 December 2012

Contents

About Nepomuk

Nepomuk serves as a cross application semantic storage backend. It aims at collecting data from various sources - file indexing, the web, applications, etc, and linking them all together to form a cohesive map of data.

This page is dedicated to third party documentation for Nepomuk. To know more about Nepomuk from a user's point of view, head over to the Nepomuk page on UserBase. Or to know more about the Nepomuk community and getting involved in Nepomuk, head over to the Nepomuk Community Page.

Documentation

Any new project is intimidating and jumping right into the API Documentation can be scary. So, we have prepared some articles which explain the different aspects of Nepomuk and even touch on some advanced features.

The documentation of any project is always in progress as the code base is always evolving. If you feel that the documentation is lacking in some regard, please come talk to us. We'd love to hear your feedback, and the documentation might just get improved in the process.

Introductory Material

Managing Data

This section includes more in-depth articles on how manage the data in Nepomuk. As a starting point you should probably open up the Nepomuk API Documentation. It is generally more up to date than the articles mentioned below.

File Indexing

Querying

As you advance into Nepomuk, you'll want to move beyond just fetching and pushing data and will want to query Nepomuk for specialized data. One can query Nepomuk is many different ways, the important part is to optimize your queries and make sure they run well on production systems where the database sizes may way very large.