Projects/Nepomuk: Difference between revisions

From KDE TechBase
(→‎Basics: ResourceWatcher)
(add warning that Nepomuk is obsolete, text copied from other wikis)
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:


[[Image:Nepomuk_logo_big.png|center|300px]]


[[Image:Nepomuk_logo_big.png|center|300px]]
''{{Warning|The Nepomuk project no longer exists in modern day KDE software. From KDE Applications 4.13 onwards, the '[[community:Baloo | Baloo]]' file indexing and file search framework replaces Nepomuk. Read [http://dot.kde.org/2014/02/24/kdes-next-generation-semantic-search details on the changes for Applications 4.13 here].}}


== About Nepomuk ==
== 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.
'''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 [http://userbase.kde.org/Special:myLanguage/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.
 
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.
 
'''Nepomuk Mailing List: ''' [email protected] <br/>
'''IRC Channel:''' #nepomuk-kde on freenode
 
=== Introductory Material ===
 
If you're just getting started with '''Nepomuk''' and want to know a quick way to fetch some data.
 
* [[Special:myLanguage/Projects/Nepomuk/QuickStart| Quick Start]]
* [[Special:myLanguage/Projects/Nepomuk/OntologyBasics| Basic Ontology concepts]]
* [[Special:myLanguage/Projects/Nepomuk/Uris| Questions about URIs]]
 
=== 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.
 
* [[Special:myLanguage/Projects/Nepomuk/Resources| Using Resources]]
* [[Special:myLanguage/Projects/Nepomuk/ResourceWatcher| Monitoring Changes]]
* [[Special:myLanguage/Projects/Nepomuk/BulkChanges| Bulk Changes]]
* [[Special:myLanguage/Projects/Nepomuk/DataFeeders| Data Feeders]]
 
=== File Indexing ===
 
With 4.10, the file indexing architecture has substantially changed. We no longer rely on strigi, and have our own plugin based interface.
 
* [[Special:myLanguage/Projects/Nepomuk/IndexingPlugin| Writing an Indexing Plugin]]
 
=== 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''' in 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.
 
* [[Special:myLanguage/Projects/Nepomuk/QueryingMethods| Different ways to Query Nepomuk]]
* [[Special:myLanguage/Projects/Nepomuk/QueryLibrary| Nepomuk Query Library]]
* [[Special:myLanguage/Projects/Nepomuk/SparqlQueries| Sparql Queries]]
 
=== Architectural Overview ===
 
If you're looking to get more involved with '''Nepomuk''' development process, you should probably need to need to figure out our basic architecture and where you can find all the relevant code.


This page is dedicated to 3rd 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].
* [[Special:myLanguage/Projects/Nepomuk/Repositories| Nepomuk Repositories]]
* [[Special:myLanguage/Projects/Nepomuk/ComponentOverview| Nepomuk Architectural Overview]]
* [[Special:myLanguage/Projects/Nepomuk/kioslaves| Nepomuk KIO Slaves]]


== Basics ==
=== Nepomuk Internals ===
* [[Development/Tutorials/Metadata/Nepomuk/Quickstart| Quick Start]]
* [[Projects/Nepomuk/Repositories| Nepomuk Repositories]]
* [[Projects/Nepomuk/ComponentOverview| Nepomuk Architectural Overview]]
* [[Projects/Nepomuk/OntologyBasics| Basic Ontology concepts]]
* [[Projects/Nepomuk/ResourceWatcher| Monitoring Changes]]


== Advanced Use Cases ==
When you decide to dig even deeper.
* [[Projects/Nepomuk/BulkChanges| Bulk Changes]]
* [[Projects/Nepomuk/DataFeeders| Pushing large quantities of data into Nepomuk]]
* [[Projects/Nepomuk/GraphConcepts| Graph handling]]
* [[Projects/Nepomuk/VirtuosoInternal| Virtuoso Internals]]
* [[Projects/Nepomuk/CustomOntology| Custom Ontologies]]


== Documentation ==
* [[Special:myLanguage/Projects/Nepomuk/GraphConcepts| Graph handling]]
* [[Special:myLanguage/Projects/Nepomuk/VirtuosoInternal| Virtuoso Internals]]
* [[Special:myLanguage/Projects/Nepomuk/OntologyExtention| Extending the Ontologies]]
 
=== Miscellaneous ===


The following links provide good reads for getting used to the Nepomuk system and its APIs.
* [[Special:myLanguage/Projects/Nepomuk/Nepomuk2Port| Porting to Nepomuk2]]
* [[Development/Tutorials/Metadata/Nepomuk|Development Tutorials]]
* [[Special:myLanguage/Projects/Nepomuk/ManagingNepomukProcesses| Managing Nepomuk Processes]]
* [[Development/Tutorials/Metadata/Nepomuk/TipsAndTricks|Nepomuk Tips and Tricks]]
* [[Special:myLanguage/Projects/Nepomuk/TestEnvironment| Nepomuk Test Environment]]
* [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk-core/html/index.html Nepomuk API Documentation]
* [[Special:myLanguage/Development/Tutorials/Metadata/Nepomuk/TipsAndTricks| Nepomuk Tips and Tricks]]
* [http://soprano.sourceforge.net/apidox/trunk/index.html Soprano (RDF storage) API]
* [[Special:myLanguage/Projects/Nepomuk/NepomukShow| Debugging Nepomuk Data]]
* [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]


==== Outdated links ====


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:
The following links provide good reads for getting used to the '''Nepomuk''' system and its APIs. <br\>
* [http://www.w3.org/TR/REC-rdf-syntax/ RDF Primer]
They are slightly outdated, but still has some useful material.
* [http://www.semanticdesktop.org/ontologies Nepomuk Ontologies]
* [[Special:myLanguage/Development/Tutorials/Metadata/Nepomuk|Development Tutorials]]
* [http://dev.nepomuk.semanticdesktop.org/wiki/OntologyMaintenance Experimental Nepomuk Ontologies and Ideas for new ones]
* [[Special:myLanguage/Projects/Nepomuk/Ideas|Random Ideas]]
* [[Special:myLanguage/Projects/Nepomuk/Qualified_Relations_Idea| Qualified Relations Idea]]
* [[Special:myLanguage/Projects/Nepomuk/ScenarioExamples| Scenario Examples]]


== Subpages of {{FULLPAGENAME}}==
[[Category:Documentation]]
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}

Latest revision as of 06:44, 16 November 2023

Warning
The Nepomuk project no longer exists in modern day KDE software. From KDE Applications 4.13 onwards, the ' Baloo' file indexing and file search framework replaces Nepomuk. Read details on the changes for Applications 4.13 here.


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.

Nepomuk Mailing List: [email protected]
IRC Channel: #nepomuk-kde on freenode

Introductory Material

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

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

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

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 in 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.

Architectural Overview

If you're looking to get more involved with Nepomuk development process, you should probably need to need to figure out our basic architecture and where you can find all the relevant code.

Nepomuk Internals

When you decide to dig even deeper.

Miscellaneous

Outdated links

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.