2017-10-04 5 views
0

Comment obtenir uniquement des triplets qui représentent la structure de graphe - hiérarchie de classe et de propriétés (c'est-à-dire sans individus, valeurs de propriété)?Obtenir la structure du graphe RDF par requête SPARQL

+0

Pour hiérarchie de classes: 'CONSTRUIRE OU {sous rdfs:? SubClassOf sup}' Analogue de la hiérarchie de propriété à l'aide du prédicat 'rdfs: subPropertyOf' – AKSW

+0

Ou dans une requête: 'CONSTRUCT { ? S? P? O. } OÙ {? VALEURS p {rdfs: subClassOf rdfs: subPropertyOf} s p o } ' – AKSW

+0

Merci, mais il semble que je dois aussi rdf:? Type, hibou: classe: Domaine: triplets gamme. – palandlom

Répondre

0

Il semble que j'ai besoin de triplets rdf: type, owl: class et etc. Donc, c'est ma variante:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX owl:  <http://www.w3.org/2002/07/owl#> 

select ?s ?p ?o 
where 
{ 
    { 
     graph <http://graph.org/gr> 
     {  
      ?s rdf:type ?o. 
      ?s ?p ?o. 
     } 
     FILTER 
      (?o IN (owl:Class, owl:DatatypeProperty, owl:AnnotationProperty, owl:ObjectProperty, owl:DataRange, owl:Ontology, 
      owl:DataRange,owl:DeprecatedClass,owl:DeprecatedProperty,owl:OntologyProperty,rdfs:Class,owl:Restriction,owl:InverseFunctionalProperty, 
      owl:FunctionalProperty,owl:AllDisjointClasses,rdf:Property, rdfs:Datatype) 
      ) 
} 
UNION 
{ 
     graph <http://graph.org/gr> 
     { 
      ?s ?p ?o. 
     } 
     FILTER 
      (?p IN (rdfs:subClassOf,rdfs:subPropertyOf,rdfs:domain,rdfs:range,rdfs:label,rdfs:comment,rdfs:member, 
      rdf:first,rdf:rest,owl:allValuesFrom,owl:someValuesFrom,owl:AnnotationProperty,owl:equivalentClass, 
      owl:equivalentProperty,owl:hasValue,owl:OntologyProperty,owl:SymmetricProperty,owl:TransitiveProperty, 
      owl:versionInfo,owl:priorVersion,owl:oneOf,owl:maxCardinality,owl:minCardinality,owl:inverseOf, 
      owl:incompatibleWith,owl:intersectionOf,owl:imports,owl:backwardCompatibleWith,owl:AllDifferent, 
      owl:differentFrom,owl:disjointWith,owl:distinctMembers,owl:complementOf,owl:cardinality,owl:unionOf,owl:onProperty)) 
     } 
} 
+0

La prochaine fois devrait clarifier cela dans votre question. Cela ressemble plus à l'interrogation de tous les axiomes de schéma d'une ontologie OWL. Il vous manque toujours des axiomes comme '? P rdf: tapez owl: FunctionalProperty' etc. – AKSW

+0

De plus, vous avez demandé des triplets, donc, je ne vois pas pourquoi vous utilisez une requête' SELECT'. – AKSW

+0

Désolé, j'ai confondu les triples avec des solutions. – palandlom