Semantic Web besteht aus verschiedenen Komponenten.
Wissen wird als RDF-Tripel dargestellt. Diese Tripel beschreiben Ressourcen basierend auf einer Subjekt - Prädikat - Objekt Syntax. Zum Beispiel kann "John is a Male"
als ein RDF-Tripel dargestellt werden.
Zusätzlich zu RDF können wir RDFS und OWL verwenden, um Einschränkungen und andere Informationen zu diesen Daten anzugeben. Dank RDFS kann ich das "Male is a subclass of Person"
spezifizieren und es ist daher möglich, dass "John is a Person"
zu schließen. RDFS und OWL hilft bei der Definition von Ontologien. Ein Ontologie ist ein Vokabular (das allgemein oder spezifisch für eine Domäne sein kann), um Daten darzustellen. Ich möchte zum Beispiel einen Ontologie-CAT erstellen, um Daten zu Katzen darzustellen.
In diesem Fall würde ich mein CAT-Vokabular erstellen, das "Cat is a subclass of Animal"
und "hasOwner is a property that links a cat to a Person"
und einige andere Eigenschaften definiert. Dann kann ich einige Personen instanziieren, um Daten über Katzen zu erstellen. Zum Beispiel indem Sie das "Baccara is a Cat"
und "Baccara hasOwner John"
sagen.
FOAF ist im Grunde ein Vokabular, um Daten über Menschen und insbesondere Verbindungen zwischen diesen Menschen darzustellen. FOAF-Vokabular gibt einige Eigenschaften und Klassen, um leicht Informationen über Personen zu handhaben. Aber es liefert keine Information, nur die "Struktur"/"Modell"/"Schema", um Informationen zu organisieren. Im FOAF-Datensatz sind keine Personen enthalten. Aus diesem Grund gibt Ihre Abfrage kein Ergebnis zurück. Da sich im FOAF-Dataset keine Personen befinden, ist es normal, dass die Abfrage nichts zurückgibt.
Sie möchten vielleicht Ihren eigenen RDF-Datensatz basierend auf dem FOAF-Vokabular erstellen. Um dies zu tun, können Sie ein Tool wie Protégé oder einfacher mit einem Texteditor ausprobieren, wenn Sie mit RDF/XML oder Turtle vertraut sind.
Wenn Sie sich sonst nur mit FOAF vertraut machen möchten, können Sie das Modell abfragen. Zum Beispiel können Sie alle Subklassen von Agenten zu erhalten:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT distinct ?c
WHERE { ?c rdfs:subClassOf foaf:Agent }
ich Sie empfehlen, ein wenig auf den semantischen Web-Komponenten (insbesondere RDF und RDFS und Unterschiede zwischen ihnen) zu lesen, bevor in FOAF es weiter gehen . Plus, eine schöne Übung SPARQL zu lernen besteht darin, DBpedia zu fragen: http://dbpedia.org/sparql.
Sie führen die Abfrage auf welcher Wissensdatenbank? Die FOAF-Ontologie selbst ist nur das Schema. – AKSW
Ich habe den Virtuoso SPARQL Query Editor verwendet und http://xmlns.com/foaf/0.1/ in den Standarddatensatz eingefügt. Liege ich falsch ? @AKSW – Dihya
Aus meiner Sicht haben Sie nur das FOAF-Vokabular geladen, aber keine Instanzdaten. – AKSW