You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ju...@apache.org on 2007/07/17 01:07:56 UTC
svn commit: r556764 - in /labs/juuso: graph.m main.m n3.m owl.m rdf.m rdfs.m
triple.m uri.m xsd.m
Author: jukka
Date: Mon Jul 16 16:07:55 2007
New Revision: 556764
URL: http://svn.apache.org/viewvc?view=rev&rev=556764
Log:
juuso: All resources are now strings instead of typed URIs, blank nodes or literals to keep things simple
Removed:
labs/juuso/n3.m
labs/juuso/triple.m
labs/juuso/uri.m
Modified:
labs/juuso/graph.m
labs/juuso/main.m
labs/juuso/owl.m
labs/juuso/rdf.m
labs/juuso/rdfs.m
labs/juuso/xsd.m
Modified: labs/juuso/graph.m
URL: http://svn.apache.org/viewvc/labs/juuso/graph.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/graph.m (original)
+++ labs/juuso/graph.m Mon Jul 16 16:07:55 2007
@@ -19,28 +19,32 @@
:- module graph.
:- interface.
-:- import_module triple.
+:- import_module string.
:- import_module list.
-:- type graph.
+:- type graph == list({ string, string, string }).
-:- func empty = graph is det.
-
-:- func create(list(triple)) = graph is det.
-
-:- pred contains(graph, triple).
+:- pred contains(graph, string).
:- mode contains(in, in) is semidet.
:- mode contains(in, out) is nondet.
-:- implementation.
-:- import_module set.
-
-:- type graph ---> graph(set(triple)).
-
-empty = create([]).
+:- pred contains(graph, string, string, string).
+:- mode contains(in, in, in, in) is semidet.
+:- mode contains(in, in, in, out) is nondet.
+:- mode contains(in, in, out, in) is nondet.
+:- mode contains(in, out, in, in) is nondet.
+:- mode contains(in, in, out, out) is nondet.
+:- mode contains(in, out, in, out) is nondet.
+:- mode contains(in, out, out, in) is nondet.
+:- mode contains(in, out, out, out) is nondet.
-create(Triples) = graph(Set) :-
- Set = set.from_list(Triples).
+:- implementation.
-contains(graph(Set), Triple) :-
- set.member(Triple, Set).
+contains(G, S) :-
+ contains(G, S, _, _);
+ contains(G, _, S, _);
+ contains(G, _, _, S).
+
+contains([ Head | Tail ], S, P, O) :-
+ Head = { S, P, O };
+ contains(Tail, S, P, O).
Modified: labs/juuso/main.m
URL: http://svn.apache.org/viewvc/labs/juuso/main.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/main.m (original)
+++ labs/juuso/main.m Mon Jul 16 16:07:55 2007
@@ -24,16 +24,14 @@
:- pred main(io::di, io::uo) is det.
:- implementation.
-:- import_module graph.
:- import_module list.
-:- import_module triple.
-:- import_module uri.
+:- import_module graph.
+:- import_module rdf.
:- import_module rdfs.
:- import_module solutions.
-:- import_module n3.
main(!IO) :-
- G = graph.create([ triple(uri("A"), uri("P"), uri("B")),
- triple(uri("P"), rdfs("range"), uri("C")) ]),
- solutions((pred(X::out) is nondet :- rdfs.instance(G, uri("P"), X)), Xs),
- io.write(Xs, !IO).
+ G = [ { "A", rdf("type"), "C" }, { "P", rdfs("range"), "C" } ],
+ solutions((pred(X::out) is nondet :- rdfs.property(G, S, P, O), X = { S, P, O }), Xs),
+ io.write(Xs, !IO),
+ io.nl(!IO).
Modified: labs/juuso/owl.m
URL: http://svn.apache.org/viewvc/labs/juuso/owl.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/owl.m (original)
+++ labs/juuso/owl.m Mon Jul 16 16:07:55 2007
@@ -50,12 +50,9 @@
isClass(_, owl("Thing")).
isClass(_, owl("Nothing")).
-isClass(G, U) :- rdf.contains(G, triple(U, rdf("type"), owl("Class")).
-
-subClassOf(G, A, B) :-
-
+isClass(G, U) :- property(G, U, rdf("type"), owl("Class")).
sameAs(G, A, B) :-
A = B;
- graph_contains(G, triple(A, owl("sameAs"), B));
- graph_contains(G, triple(B, owl("sameAs"), A)).
+ property(G, A, owl("sameAs"), B);
+ property(G, B, owl("sameAs"), A).
Modified: labs/juuso/rdf.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdf.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/rdf.m (original)
+++ labs/juuso/rdf.m Mon Jul 16 16:07:55 2007
@@ -20,21 +20,19 @@
:- interface.
:- import_module string.
-:- import_module uri.
:- import_module graph.
-:- func rdf(string) = uri is det.
+:- func rdf(string) = string is det.
-:- pred type(graph, uri, uri).
+:- pred type(graph, string, string).
:- mode type(in, in, in) is semidet.
:- mode type(in, out, in) is nondet.
:- mode type(in, in, out) is nondet.
:- mode type(in, out, out) is nondet.
:- implementation.
-:- import_module triple.
-rdf(S) = prefix("http://www.w3.org/1999/02/22-rdf-syntax-ns#", S).
+rdf(S) = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ++ S.
type(Graph, Subject, Type) :-
- contains(Graph, triple(Subject, rdf("type"), Type)).
+ contains(Graph, Subject, rdf("type"), Type).
Modified: labs/juuso/rdfs.m
URL: http://svn.apache.org/viewvc/labs/juuso/rdfs.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/rdfs.m (original)
+++ labs/juuso/rdfs.m Mon Jul 16 16:07:55 2007
@@ -20,12 +20,11 @@
:- interface.
:- import_module string.
-:- import_module uri.
:- import_module graph.
-:- func rdfs(string) = uri is det.
+:- func rdfs(string) = string is det.
-:- pred property(graph, uri, uri, uri).
+:- pred property(graph, string, string, string).
:- mode property(in, in, in, in) is semidet.
:- mode property(in, in, in, out) is nondet.
:- mode property(in, in, out, in) is nondet.
@@ -33,49 +32,48 @@
:- mode property(in, in, out, out) is nondet.
:- mode property(in, out, out, out) is multi.
-:- pred instance(graph, uri, uri).
+:- pred instance(graph, string, string).
:- mode instance(in, in, in) is semidet.
:- mode instance(in, in, out) is nondet.
:- mode instance(in, out, in) is nondet.
:- mode instance(in, out, out) is multi.
-:- pred class(graph, uri).
+:- pred class(graph, string).
:- mode class(in, in) is semidet.
:- mode class(in, out) is nondet.
-:- pred range(graph, uri, uri).
+:- pred range(graph, string, string).
:- mode range(in, in, in) is semidet.
:- mode range(in, in, out) is nondet.
:- mode range(in, out, in) is nondet.
:- mode range(in, out, out) is nondet.
-:- pred domain(graph, uri, uri).
+:- pred domain(graph, string, string).
:- mode domain(in, in, in) is semidet.
:- mode domain(in, in, out) is nondet.
:- mode domain(in, out, in) is nondet.
%-------------------------------------------------------------------------%
:- implementation.
-:- import_module triple.
:- import_module rdf.
-:- pred builtin(uri, uri, uri).
+rdfs(S) = "http://www.w3.org/2000/01/rdf-schema#" ++ S.
+
+:- pred builtin(string, string, string).
:- mode builtin(out, out, out) is multi.
-:- pred contains(graph, uri, uri, uri).
+:- pred contains(graph, string, string, string).
:- mode contains(in, out, out, out) is multi.
contains(G, S, P, O) :-
builtin(S, P, O);
- graph.contains(G, triple(S, P, O)).
-
-rdfs(S) = prefix("http://www.w3.org/2000/01/rdf-schema#", S).
+ graph.contains(G, S, P, O).
property(G, S, P, O) :-
- contains(G, S, P, O).
+ rdfs.contains(G, S, P, O).
property(G, S, P, O) :-
- contains(G, X, rdfs("subPropertyOf"), P),
+ rdfs.contains(G, X, rdfs("subPropertyOf"), P),
property(G, S, X, O).
instance(G, R, C) :-
@@ -90,9 +88,9 @@
% classes are subclasses of this class.
instance(G, R, rdfs("Resource")) :-
- contains(G, R, _, _);
- contains(G, _, R, _);
- contains(G, _, _, R).
+ property(G, R, _, _);
+ property(G, _, R, _);
+ property(G, _, _, R).
% rdfs:Resource is an instance of rdfs:Class.
Modified: labs/juuso/xsd.m
URL: http://svn.apache.org/viewvc/labs/juuso/xsd.m?view=diff&rev=556764&r1=556763&r2=556764
==============================================================================
--- labs/juuso/xsd.m (original)
+++ labs/juuso/xsd.m Mon Jul 16 16:07:55 2007
@@ -25,11 +25,10 @@
%
%-------------------------------------------------------------------------%
:- interface.
-:- import_module uri.
:- import_module string.
-:- func xsd(string::in) = uri::out is det.
+:- func xsd(string::in) = string::out is det.
:- implementation.
-xsd(S) = prefix("http://www.w3.org/2001/XMLSchema#", S).
+xsd(S) = "http://www.w3.org/2001/XMLSchema#" ++ S.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org